pulumi-gcp 7.0.0a1699651384__py3-none-any.whl → 7.1.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (678) hide show
  1. pulumi_gcp/__init__.py +118 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +546 -71
  3. pulumi_gcp/accesscontextmanager/access_level.py +18 -2
  4. pulumi_gcp/accesscontextmanager/access_level_condition.py +57 -3
  5. pulumi_gcp/accesscontextmanager/access_levels.py +18 -2
  6. pulumi_gcp/accesscontextmanager/access_policy.py +18 -2
  7. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +18 -2
  8. pulumi_gcp/accesscontextmanager/egress_policy.py +18 -2
  9. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +18 -2
  10. pulumi_gcp/accesscontextmanager/ingress_policy.py +18 -2
  11. pulumi_gcp/accesscontextmanager/outputs.py +643 -71
  12. pulumi_gcp/accesscontextmanager/service_perimeter.py +18 -2
  13. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +18 -2
  14. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +18 -2
  15. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +18 -2
  16. pulumi_gcp/accesscontextmanager/service_perimeters.py +18 -2
  17. pulumi_gcp/activedirectory/domain.py +22 -10
  18. pulumi_gcp/activedirectory/domain_trust.py +18 -2
  19. pulumi_gcp/activedirectory/peering.py +4 -8
  20. pulumi_gcp/alloydb/__init__.py +1 -0
  21. pulumi_gcp/alloydb/_inputs.py +93 -0
  22. pulumi_gcp/alloydb/backup.py +22 -10
  23. pulumi_gcp/alloydb/cluster.py +283 -11
  24. pulumi_gcp/alloydb/instance.py +241 -40
  25. pulumi_gcp/alloydb/outputs.py +130 -0
  26. pulumi_gcp/alloydb/user.py +609 -0
  27. pulumi_gcp/apigateway/api.py +22 -10
  28. pulumi_gcp/apigateway/api_config.py +22 -10
  29. pulumi_gcp/apigateway/gateway.py +22 -10
  30. pulumi_gcp/apigee/addons_config.py +18 -2
  31. pulumi_gcp/apigee/endpoint_attachment.py +18 -2
  32. pulumi_gcp/apigee/env_group.py +18 -2
  33. pulumi_gcp/apigee/env_group_attachment.py +18 -2
  34. pulumi_gcp/apigee/env_keystore.py +18 -2
  35. pulumi_gcp/apigee/env_references.py +18 -2
  36. pulumi_gcp/apigee/environment.py +96 -5
  37. pulumi_gcp/apigee/flowhook.py +18 -2
  38. pulumi_gcp/apigee/instance.py +18 -2
  39. pulumi_gcp/apigee/instance_attachment.py +18 -2
  40. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +18 -2
  41. pulumi_gcp/apigee/keystores_aliases_pkcs12.py +18 -2
  42. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +18 -2
  43. pulumi_gcp/apigee/nat_address.py +18 -2
  44. pulumi_gcp/apigee/organization.py +18 -2
  45. pulumi_gcp/apigee/sharedflow.py +18 -2
  46. pulumi_gcp/apigee/sharedflow_deployment.py +18 -2
  47. pulumi_gcp/apigee/sync_authorization.py +18 -2
  48. pulumi_gcp/apigee/target_server.py +18 -2
  49. pulumi_gcp/appengine/application.py +20 -4
  50. pulumi_gcp/appengine/application_url_dispatch_rules.py +18 -2
  51. pulumi_gcp/appengine/domain_mapping.py +18 -2
  52. pulumi_gcp/appengine/engine_split_traffic.py +18 -2
  53. pulumi_gcp/appengine/firewall_rule.py +18 -2
  54. pulumi_gcp/appengine/flexible_app_version.py +18 -2
  55. pulumi_gcp/appengine/service_network_settings.py +18 -2
  56. pulumi_gcp/appengine/standard_app_version.py +18 -2
  57. pulumi_gcp/artifactregistry/_inputs.py +4 -4
  58. pulumi_gcp/artifactregistry/outputs.py +4 -4
  59. pulumi_gcp/artifactregistry/repository.py +24 -12
  60. pulumi_gcp/artifactregistry/vpcsc_config.py +18 -2
  61. pulumi_gcp/assuredworkloads/_inputs.py +178 -4
  62. pulumi_gcp/assuredworkloads/outputs.py +217 -5
  63. pulumi_gcp/assuredworkloads/workload.py +474 -63
  64. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  65. pulumi_gcp/backupdisasterrecovery/get_management_server.py +152 -0
  66. pulumi_gcp/backupdisasterrecovery/management_server.py +18 -2
  67. pulumi_gcp/backupdisasterrecovery/outputs.py +40 -0
  68. pulumi_gcp/beyondcorp/app_connection.py +22 -10
  69. pulumi_gcp/beyondcorp/app_connector.py +22 -10
  70. pulumi_gcp/beyondcorp/app_gateway.py +22 -10
  71. pulumi_gcp/biglake/catalog.py +18 -2
  72. pulumi_gcp/biglake/database.py +18 -2
  73. pulumi_gcp/biglake/table.py +18 -2
  74. pulumi_gcp/bigquery/__init__.py +1 -0
  75. pulumi_gcp/bigquery/_inputs.py +94 -8
  76. pulumi_gcp/bigquery/app_profile.py +18 -2
  77. pulumi_gcp/bigquery/bi_reservation.py +18 -2
  78. pulumi_gcp/bigquery/capacity_commitment.py +25 -9
  79. pulumi_gcp/bigquery/connection.py +56 -2
  80. pulumi_gcp/bigquery/data_transfer_config.py +18 -2
  81. pulumi_gcp/bigquery/dataset.py +22 -10
  82. pulumi_gcp/bigquery/dataset_iam_binding.py +10 -38
  83. pulumi_gcp/bigquery/dataset_iam_member.py +10 -38
  84. pulumi_gcp/bigquery/dataset_iam_policy.py +10 -38
  85. pulumi_gcp/bigquery/get_dataset.py +315 -0
  86. pulumi_gcp/bigquery/job.py +26 -10
  87. pulumi_gcp/bigquery/outputs.py +275 -9
  88. pulumi_gcp/bigquery/reservation.py +18 -2
  89. pulumi_gcp/bigquery/reservation_assignment.py +18 -2
  90. pulumi_gcp/bigquery/routine.py +18 -2
  91. pulumi_gcp/bigquery/table.py +171 -17
  92. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +18 -2
  93. pulumi_gcp/bigqueryanalyticshub/listing.py +18 -2
  94. pulumi_gcp/bigquerydatapolicy/data_policy.py +18 -2
  95. pulumi_gcp/bigtable/instance.py +30 -10
  96. pulumi_gcp/bigtable/instance_iam_binding.py +12 -20
  97. pulumi_gcp/bigtable/instance_iam_member.py +12 -20
  98. pulumi_gcp/bigtable/instance_iam_policy.py +12 -20
  99. pulumi_gcp/bigtable/table.py +18 -6
  100. pulumi_gcp/bigtable/table_iam_binding.py +12 -20
  101. pulumi_gcp/bigtable/table_iam_member.py +12 -20
  102. pulumi_gcp/bigtable/table_iam_policy.py +12 -20
  103. pulumi_gcp/billing/account_iam_binding.py +12 -20
  104. pulumi_gcp/billing/account_iam_member.py +12 -20
  105. pulumi_gcp/billing/account_iam_policy.py +12 -20
  106. pulumi_gcp/billing/budget.py +18 -2
  107. pulumi_gcp/billing/project_info.py +18 -2
  108. pulumi_gcp/billing/sub_account.py +18 -2
  109. pulumi_gcp/binaryauthorization/attestor.py +18 -2
  110. pulumi_gcp/binaryauthorization/policy.py +18 -2
  111. pulumi_gcp/certificateauthority/authority.py +22 -10
  112. pulumi_gcp/certificateauthority/ca_pool.py +22 -10
  113. pulumi_gcp/certificateauthority/certificate.py +22 -10
  114. pulumi_gcp/certificateauthority/certificate_template.py +22 -10
  115. pulumi_gcp/certificatemanager/certificate.py +223 -31
  116. pulumi_gcp/certificatemanager/certificate_issuance_config.py +22 -10
  117. pulumi_gcp/certificatemanager/certificate_map.py +22 -10
  118. pulumi_gcp/certificatemanager/certificate_map_entry.py +22 -10
  119. pulumi_gcp/certificatemanager/dns_authorization.py +22 -10
  120. pulumi_gcp/certificatemanager/trust_config.py +22 -10
  121. pulumi_gcp/cloudasset/folder_feed.py +18 -2
  122. pulumi_gcp/cloudasset/organization_feed.py +18 -2
  123. pulumi_gcp/cloudasset/project_feed.py +18 -2
  124. pulumi_gcp/cloudbuild/bitbucket_server_config.py +18 -2
  125. pulumi_gcp/cloudbuild/trigger.py +18 -2
  126. pulumi_gcp/cloudbuild/worker_pool.py +18 -2
  127. pulumi_gcp/cloudbuildv2/connection.py +18 -2
  128. pulumi_gcp/cloudbuildv2/repository.py +18 -2
  129. pulumi_gcp/clouddeploy/delivery_pipeline.py +22 -10
  130. pulumi_gcp/clouddeploy/target.py +22 -10
  131. pulumi_gcp/cloudfunctions/function.py +26 -14
  132. pulumi_gcp/cloudfunctions/get_function.py +3 -0
  133. pulumi_gcp/cloudfunctionsv2/function.py +22 -10
  134. pulumi_gcp/cloudidentity/__init__.py +1 -0
  135. pulumi_gcp/cloudidentity/_inputs.py +119 -0
  136. pulumi_gcp/cloudidentity/get_group_lookup.py +128 -0
  137. pulumi_gcp/cloudidentity/group.py +50 -2
  138. pulumi_gcp/cloudidentity/group_membership.py +18 -2
  139. pulumi_gcp/cloudidentity/outputs.py +156 -0
  140. pulumi_gcp/cloudids/endpoint.py +18 -2
  141. pulumi_gcp/cloudrun/_inputs.py +12 -0
  142. pulumi_gcp/cloudrun/domain_mapping.py +18 -2
  143. pulumi_gcp/cloudrun/outputs.py +12 -0
  144. pulumi_gcp/cloudrun/service.py +18 -2
  145. pulumi_gcp/cloudrunv2/__init__.py +2 -0
  146. pulumi_gcp/cloudrunv2/get_job.py +394 -0
  147. pulumi_gcp/cloudrunv2/get_service.py +454 -0
  148. pulumi_gcp/cloudrunv2/job.py +40 -27
  149. pulumi_gcp/cloudrunv2/outputs.py +1687 -0
  150. pulumi_gcp/cloudrunv2/service.py +40 -27
  151. pulumi_gcp/cloudscheduler/job.py +18 -2
  152. pulumi_gcp/cloudtasks/queue.py +18 -2
  153. pulumi_gcp/composer/_inputs.py +17 -0
  154. pulumi_gcp/composer/environment.py +68 -5
  155. pulumi_gcp/composer/get_environment.py +13 -3
  156. pulumi_gcp/composer/outputs.py +26 -0
  157. pulumi_gcp/compute/__init__.py +2 -0
  158. pulumi_gcp/compute/_inputs.py +158 -4
  159. pulumi_gcp/compute/address.py +38 -18
  160. pulumi_gcp/compute/attached_disk.py +18 -2
  161. pulumi_gcp/compute/autoscaler.py +18 -2
  162. pulumi_gcp/compute/backend_bucket.py +18 -2
  163. pulumi_gcp/compute/backend_service.py +32 -16
  164. pulumi_gcp/compute/disk.py +22 -10
  165. pulumi_gcp/compute/disk_resource_policy_attachment.py +18 -2
  166. pulumi_gcp/compute/external_vpn_gateway.py +22 -10
  167. pulumi_gcp/compute/firewall.py +18 -2
  168. pulumi_gcp/compute/firewall_policy_association.py +18 -2
  169. pulumi_gcp/compute/firewall_policy_rule.py +18 -2
  170. pulumi_gcp/compute/forwarding_rule.py +377 -276
  171. pulumi_gcp/compute/get_disk.py +3 -0
  172. pulumi_gcp/compute/get_forwarding_rule.py +11 -1
  173. pulumi_gcp/compute/get_image.py +3 -0
  174. pulumi_gcp/compute/get_network.py +14 -1
  175. pulumi_gcp/compute/get_networks.py +130 -0
  176. pulumi_gcp/compute/get_subnetwork.py +14 -1
  177. pulumi_gcp/compute/global_address.py +18 -2
  178. pulumi_gcp/compute/global_forwarding_rule.py +127 -108
  179. pulumi_gcp/compute/global_network_endpoint.py +18 -2
  180. pulumi_gcp/compute/global_network_endpoint_group.py +18 -2
  181. pulumi_gcp/compute/ha_vpn_gateway.py +18 -2
  182. pulumi_gcp/compute/health_check.py +18 -2
  183. pulumi_gcp/compute/http_health_check.py +18 -2
  184. pulumi_gcp/compute/https_health_check.py +18 -2
  185. pulumi_gcp/compute/image.py +22 -10
  186. pulumi_gcp/compute/instance.py +44 -36
  187. pulumi_gcp/compute/instance_group.py +24 -8
  188. pulumi_gcp/compute/instance_group_manager.py +26 -10
  189. pulumi_gcp/compute/instance_group_named_port.py +18 -2
  190. pulumi_gcp/compute/instance_settings.py +387 -0
  191. pulumi_gcp/compute/instance_template.py +29 -21
  192. pulumi_gcp/compute/interconnect_attachment.py +18 -2
  193. pulumi_gcp/compute/machine_image.py +18 -2
  194. pulumi_gcp/compute/managed_ssl_certificate.py +18 -2
  195. pulumi_gcp/compute/manged_ssl_certificate.py +18 -2
  196. pulumi_gcp/compute/network.py +18 -2
  197. pulumi_gcp/compute/network_attachment.py +156 -2
  198. pulumi_gcp/compute/network_edge_security_service.py +18 -2
  199. pulumi_gcp/compute/network_endpoint.py +18 -2
  200. pulumi_gcp/compute/network_endpoint_group.py +32 -16
  201. pulumi_gcp/compute/network_endpoint_list.py +18 -2
  202. pulumi_gcp/compute/network_firewall_policy.py +18 -2
  203. pulumi_gcp/compute/network_firewall_policy_association.py +18 -2
  204. pulumi_gcp/compute/network_firewall_policy_rule.py +18 -2
  205. pulumi_gcp/compute/network_peering.py +20 -4
  206. pulumi_gcp/compute/network_peering_routes_config.py +18 -2
  207. pulumi_gcp/compute/node_group.py +129 -2
  208. pulumi_gcp/compute/node_template.py +18 -2
  209. pulumi_gcp/compute/organization_security_policy.py +18 -2
  210. pulumi_gcp/compute/organization_security_policy_association.py +18 -2
  211. pulumi_gcp/compute/organization_security_policy_rule.py +18 -2
  212. pulumi_gcp/compute/outputs.py +230 -7
  213. pulumi_gcp/compute/packet_mirroring.py +18 -2
  214. pulumi_gcp/compute/per_instance_config.py +18 -2
  215. pulumi_gcp/compute/project_default_network_tier.py +20 -4
  216. pulumi_gcp/compute/project_metadata.py +20 -4
  217. pulumi_gcp/compute/project_metadata_item.py +20 -4
  218. pulumi_gcp/compute/public_advertised_prefix.py +18 -2
  219. pulumi_gcp/compute/public_delegated_prefix.py +18 -2
  220. pulumi_gcp/compute/region_autoscaler.py +18 -2
  221. pulumi_gcp/compute/region_backend_service.py +18 -2
  222. pulumi_gcp/compute/region_commitment.py +18 -2
  223. pulumi_gcp/compute/region_disk.py +22 -10
  224. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +18 -2
  225. pulumi_gcp/compute/region_health_check.py +18 -2
  226. pulumi_gcp/compute/region_instance_group_manager.py +20 -4
  227. pulumi_gcp/compute/region_instance_template.py +29 -21
  228. pulumi_gcp/compute/region_network_endpoint_group.py +18 -2
  229. pulumi_gcp/compute/region_network_firewall_policy.py +18 -2
  230. pulumi_gcp/compute/region_network_firewall_policy_association.py +18 -2
  231. pulumi_gcp/compute/region_network_firewall_policy_rule.py +18 -2
  232. pulumi_gcp/compute/region_per_instance_config.py +18 -2
  233. pulumi_gcp/compute/region_security_policy.py +18 -2
  234. pulumi_gcp/compute/region_security_policy_rule.py +18 -2
  235. pulumi_gcp/compute/region_ssl_certificate.py +18 -2
  236. pulumi_gcp/compute/region_ssl_policy.py +18 -2
  237. pulumi_gcp/compute/region_target_http_proxy.py +18 -2
  238. pulumi_gcp/compute/region_target_https_proxy.py +18 -2
  239. pulumi_gcp/compute/region_target_tcp_proxy.py +18 -2
  240. pulumi_gcp/compute/region_url_map.py +18 -2
  241. pulumi_gcp/compute/reservation.py +18 -2
  242. pulumi_gcp/compute/resource_policy.py +18 -2
  243. pulumi_gcp/compute/route.py +18 -2
  244. pulumi_gcp/compute/router.py +18 -2
  245. pulumi_gcp/compute/router_interface.py +22 -6
  246. pulumi_gcp/compute/router_nat.py +18 -2
  247. pulumi_gcp/compute/router_peer.py +18 -2
  248. pulumi_gcp/compute/security_policy.py +52 -4
  249. pulumi_gcp/compute/security_scan_config.py +18 -2
  250. pulumi_gcp/compute/service_attachment.py +18 -2
  251. pulumi_gcp/compute/shared_vpc_host_project.py +20 -4
  252. pulumi_gcp/compute/shared_vpc_service_project.py +20 -4
  253. pulumi_gcp/compute/snapshot.py +22 -10
  254. pulumi_gcp/compute/ssl_certificate.py +18 -2
  255. pulumi_gcp/compute/ssl_policy.py +18 -2
  256. pulumi_gcp/compute/subnetwork.py +109 -2
  257. pulumi_gcp/compute/target_grpc_proxy.py +18 -2
  258. pulumi_gcp/compute/target_http_proxy.py +18 -2
  259. pulumi_gcp/compute/target_https_proxy.py +181 -16
  260. pulumi_gcp/compute/target_instance.py +18 -2
  261. pulumi_gcp/compute/target_pool.py +18 -2
  262. pulumi_gcp/compute/target_ssl_proxy.py +18 -2
  263. pulumi_gcp/compute/target_tcp_proxy.py +18 -2
  264. pulumi_gcp/compute/url_map.py +18 -2
  265. pulumi_gcp/compute/vpn_gateway.py +18 -2
  266. pulumi_gcp/compute/vpn_tunnel.py +18 -2
  267. pulumi_gcp/config/vars.py +12 -0
  268. pulumi_gcp/container/_inputs.py +299 -54
  269. pulumi_gcp/container/attached_cluster.py +18 -2
  270. pulumi_gcp/container/aws_cluster.py +24 -2
  271. pulumi_gcp/container/aws_node_pool.py +18 -2
  272. pulumi_gcp/container/azure_client.py +18 -2
  273. pulumi_gcp/container/azure_cluster.py +24 -2
  274. pulumi_gcp/container/azure_node_pool.py +18 -2
  275. pulumi_gcp/container/cluster.py +92 -29
  276. pulumi_gcp/container/get_cluster.py +11 -1
  277. pulumi_gcp/container/node_pool.py +22 -6
  278. pulumi_gcp/container/outputs.py +384 -52
  279. pulumi_gcp/containeranalysis/note.py +18 -2
  280. pulumi_gcp/containeranalysis/occurence.py +18 -2
  281. pulumi_gcp/databasemigrationservice/__init__.py +1 -0
  282. pulumi_gcp/databasemigrationservice/_inputs.py +465 -0
  283. pulumi_gcp/databasemigrationservice/connection_profile.py +122 -12
  284. pulumi_gcp/databasemigrationservice/outputs.py +466 -0
  285. pulumi_gcp/databasemigrationservice/private_connection.py +672 -0
  286. pulumi_gcp/datacatalog/entry.py +18 -2
  287. pulumi_gcp/datacatalog/entry_group.py +18 -2
  288. pulumi_gcp/datacatalog/policy_tag.py +18 -2
  289. pulumi_gcp/datacatalog/tag.py +18 -2
  290. pulumi_gcp/datacatalog/tag_template.py +18 -2
  291. pulumi_gcp/datacatalog/taxonomy.py +18 -2
  292. pulumi_gcp/dataflow/job.py +24 -12
  293. pulumi_gcp/dataflow/pipeline.py +18 -2
  294. pulumi_gcp/dataform/_inputs.py +78 -21
  295. pulumi_gcp/dataform/outputs.py +86 -20
  296. pulumi_gcp/dataform/repository.py +140 -9
  297. pulumi_gcp/dataform/repository_release_config.py +18 -2
  298. pulumi_gcp/dataform/repository_workflow_config.py +20 -4
  299. pulumi_gcp/datafusion/instance.py +22 -10
  300. pulumi_gcp/dataloss/prevention_deidentify_template.py +18 -2
  301. pulumi_gcp/dataloss/prevention_inspect_template.py +18 -2
  302. pulumi_gcp/dataloss/prevention_job_trigger.py +18 -2
  303. pulumi_gcp/dataloss/prevention_stored_info_type.py +18 -2
  304. pulumi_gcp/dataplex/asset.py +22 -10
  305. pulumi_gcp/dataplex/datascan.py +22 -10
  306. pulumi_gcp/dataplex/lake.py +22 -10
  307. pulumi_gcp/dataplex/task.py +22 -10
  308. pulumi_gcp/dataplex/zone.py +22 -10
  309. pulumi_gcp/dataproc/_inputs.py +148 -0
  310. pulumi_gcp/dataproc/autoscaling_policy.py +18 -2
  311. pulumi_gcp/dataproc/cluster.py +2 -2
  312. pulumi_gcp/dataproc/cluster_iam_binding.py +12 -20
  313. pulumi_gcp/dataproc/cluster_iam_member.py +12 -20
  314. pulumi_gcp/dataproc/cluster_iam_policy.py +12 -20
  315. pulumi_gcp/dataproc/job.py +20 -8
  316. pulumi_gcp/dataproc/job_iam_binding.py +12 -20
  317. pulumi_gcp/dataproc/job_iam_member.py +12 -20
  318. pulumi_gcp/dataproc/job_iam_policy.py +12 -20
  319. pulumi_gcp/dataproc/metastore_federation.py +22 -10
  320. pulumi_gcp/dataproc/metastore_service.py +22 -10
  321. pulumi_gcp/dataproc/outputs.py +175 -0
  322. pulumi_gcp/dataproc/workflow_template.py +18 -2
  323. pulumi_gcp/datastore/data_store_index.py +18 -2
  324. pulumi_gcp/datastream/connection_profile.py +22 -10
  325. pulumi_gcp/datastream/private_connection.py +22 -10
  326. pulumi_gcp/datastream/stream.py +22 -10
  327. pulumi_gcp/deploymentmanager/deployment.py +18 -2
  328. pulumi_gcp/diagflow/_inputs.py +626 -4
  329. pulumi_gcp/diagflow/agent.py +18 -2
  330. pulumi_gcp/diagflow/cx_agent.py +288 -21
  331. pulumi_gcp/diagflow/cx_entity_type.py +18 -2
  332. pulumi_gcp/diagflow/cx_environment.py +18 -2
  333. pulumi_gcp/diagflow/cx_flow.py +309 -4
  334. pulumi_gcp/diagflow/cx_intent.py +165 -10
  335. pulumi_gcp/diagflow/cx_page.py +109 -4
  336. pulumi_gcp/diagflow/cx_security_settings.py +18 -2
  337. pulumi_gcp/diagflow/cx_test_case.py +18 -2
  338. pulumi_gcp/diagflow/cx_version.py +18 -2
  339. pulumi_gcp/diagflow/cx_webhook.py +18 -2
  340. pulumi_gcp/diagflow/entity_type.py +18 -2
  341. pulumi_gcp/diagflow/fulfillment.py +18 -2
  342. pulumi_gcp/diagflow/intent.py +18 -2
  343. pulumi_gcp/diagflow/outputs.py +722 -5
  344. pulumi_gcp/dns/get_keys.py +16 -2
  345. pulumi_gcp/dns/managed_zone.py +22 -10
  346. pulumi_gcp/dns/policy.py +18 -2
  347. pulumi_gcp/dns/record_set.py +24 -8
  348. pulumi_gcp/dns/response_policy.py +18 -2
  349. pulumi_gcp/dns/response_policy_rule.py +18 -2
  350. pulumi_gcp/edgecontainer/__init__.py +12 -0
  351. pulumi_gcp/edgecontainer/_inputs.py +1171 -0
  352. pulumi_gcp/edgecontainer/cluster.py +1539 -0
  353. pulumi_gcp/edgecontainer/node_pool.py +1062 -0
  354. pulumi_gcp/edgecontainer/outputs.py +1204 -0
  355. pulumi_gcp/edgecontainer/vpn_connection.py +918 -0
  356. pulumi_gcp/edgenetwork/network.py +18 -2
  357. pulumi_gcp/edgenetwork/subnet.py +18 -2
  358. pulumi_gcp/essentialcontacts/contact.py +18 -2
  359. pulumi_gcp/essentialcontacts/document_ai_processor.py +18 -2
  360. pulumi_gcp/essentialcontacts/document_ai_processor_default_version.py +18 -2
  361. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +18 -2
  362. pulumi_gcp/eventarc/channel.py +18 -2
  363. pulumi_gcp/eventarc/google_channel_config.py +18 -2
  364. pulumi_gcp/eventarc/trigger.py +22 -10
  365. pulumi_gcp/filestore/backup.py +22 -10
  366. pulumi_gcp/filestore/instance.py +22 -10
  367. pulumi_gcp/filestore/snapshot.py +22 -10
  368. pulumi_gcp/firebase/__init__.py +1 -0
  369. pulumi_gcp/firebase/_inputs.py +878 -0
  370. pulumi_gcp/firebase/android_app.py +18 -2
  371. pulumi_gcp/firebase/apple_app.py +18 -2
  372. pulumi_gcp/firebase/database_instance.py +18 -2
  373. pulumi_gcp/firebase/extensions_instance.py +18 -2
  374. pulumi_gcp/firebase/hosting_channel.py +22 -10
  375. pulumi_gcp/firebase/hosting_custom_domain.py +1274 -0
  376. pulumi_gcp/firebase/hosting_release.py +18 -2
  377. pulumi_gcp/firebase/hosting_site.py +18 -2
  378. pulumi_gcp/firebase/hosting_version.py +18 -2
  379. pulumi_gcp/firebase/outputs.py +905 -0
  380. pulumi_gcp/firebase/project.py +18 -2
  381. pulumi_gcp/firebase/storage_bucket.py +18 -2
  382. pulumi_gcp/firebase/web_app.py +18 -2
  383. pulumi_gcp/firebaserules/release.py +18 -2
  384. pulumi_gcp/firebaserules/ruleset.py +18 -2
  385. pulumi_gcp/firestore/__init__.py +1 -0
  386. pulumi_gcp/firestore/_inputs.py +35 -2
  387. pulumi_gcp/firestore/backup_schedule.py +547 -0
  388. pulumi_gcp/firestore/database.py +24 -4
  389. pulumi_gcp/firestore/document.py +22 -2
  390. pulumi_gcp/firestore/field.py +27 -13
  391. pulumi_gcp/firestore/index.py +140 -21
  392. pulumi_gcp/firestore/outputs.py +31 -2
  393. pulumi_gcp/folder/access_approval_settings.py +18 -2
  394. pulumi_gcp/folder/iam_audit_config.py +10 -58
  395. pulumi_gcp/folder/iam_member.py +10 -58
  396. pulumi_gcp/folder/iam_policy.py +10 -58
  397. pulumi_gcp/folder/organization_policy.py +22 -6
  398. pulumi_gcp/gkebackup/backup_plan.py +22 -10
  399. pulumi_gcp/gkebackup/restore_plan.py +22 -10
  400. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +18 -2
  401. pulumi_gcp/gkebackup/restore_plan_iam_member.py +18 -2
  402. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +18 -2
  403. pulumi_gcp/gkehub/__init__.py +1 -0
  404. pulumi_gcp/gkehub/_inputs.py +431 -0
  405. pulumi_gcp/gkehub/feature.py +76 -10
  406. pulumi_gcp/gkehub/feature_membership.py +22 -2
  407. pulumi_gcp/gkehub/fleet.py +432 -0
  408. pulumi_gcp/gkehub/get_membership_iam_policy.py +24 -3
  409. pulumi_gcp/gkehub/membership.py +120 -16
  410. pulumi_gcp/gkehub/membership_binding.py +22 -10
  411. pulumi_gcp/gkehub/membership_iam_binding.py +67 -0
  412. pulumi_gcp/gkehub/membership_iam_member.py +67 -0
  413. pulumi_gcp/gkehub/membership_iam_policy.py +67 -0
  414. pulumi_gcp/gkehub/membership_rbac_role_binding.py +18 -2
  415. pulumi_gcp/gkehub/namespace.py +22 -10
  416. pulumi_gcp/gkehub/outputs.py +432 -1
  417. pulumi_gcp/gkehub/scope.py +22 -10
  418. pulumi_gcp/gkehub/scope_rbac_role_binding.py +22 -10
  419. pulumi_gcp/gkeonprem/_inputs.py +17 -31
  420. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +148 -132
  421. pulumi_gcp/gkeonprem/bare_metal_cluster.py +260 -246
  422. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +30 -18
  423. pulumi_gcp/gkeonprem/outputs.py +17 -31
  424. pulumi_gcp/gkeonprem/v_mware_cluster.py +287 -230
  425. pulumi_gcp/gkeonprem/v_mware_node_pool.py +30 -18
  426. pulumi_gcp/healthcare/consent_store.py +22 -10
  427. pulumi_gcp/healthcare/dataset.py +18 -2
  428. pulumi_gcp/healthcare/dataset_iam_binding.py +10 -38
  429. pulumi_gcp/healthcare/dataset_iam_member.py +10 -38
  430. pulumi_gcp/healthcare/dataset_iam_policy.py +10 -38
  431. pulumi_gcp/healthcare/dicom_store.py +22 -10
  432. pulumi_gcp/healthcare/dicom_store_iam_binding.py +10 -30
  433. pulumi_gcp/healthcare/dicom_store_iam_member.py +10 -30
  434. pulumi_gcp/healthcare/dicom_store_iam_policy.py +10 -30
  435. pulumi_gcp/healthcare/fhir_store.py +22 -10
  436. pulumi_gcp/healthcare/fhir_store_iam_binding.py +10 -30
  437. pulumi_gcp/healthcare/fhir_store_iam_member.py +10 -30
  438. pulumi_gcp/healthcare/fhir_store_iam_policy.py +10 -30
  439. pulumi_gcp/healthcare/hl7_store.py +22 -10
  440. pulumi_gcp/healthcare/hl7_store_iam_binding.py +10 -30
  441. pulumi_gcp/healthcare/hl7_store_iam_member.py +10 -30
  442. pulumi_gcp/healthcare/hl7_store_iam_policy.py +10 -30
  443. pulumi_gcp/iam/_inputs.py +20 -0
  444. pulumi_gcp/iam/access_boundary_policy.py +18 -2
  445. pulumi_gcp/iam/deny_policy.py +18 -2
  446. pulumi_gcp/iam/outputs.py +20 -0
  447. pulumi_gcp/iam/workforce_pool.py +18 -2
  448. pulumi_gcp/iam/workforce_pool_provider.py +18 -2
  449. pulumi_gcp/iam/workload_identity_pool.py +18 -2
  450. pulumi_gcp/iam/workload_identity_pool_provider.py +18 -2
  451. pulumi_gcp/iap/brand.py +18 -2
  452. pulumi_gcp/iap/client.py +18 -2
  453. pulumi_gcp/identityplatform/_inputs.py +92 -0
  454. pulumi_gcp/identityplatform/config.py +91 -5
  455. pulumi_gcp/identityplatform/default_supported_idp_config.py +18 -2
  456. pulumi_gcp/identityplatform/inbound_saml_config.py +18 -2
  457. pulumi_gcp/identityplatform/oauth_idp_config.py +18 -2
  458. pulumi_gcp/identityplatform/outputs.py +129 -0
  459. pulumi_gcp/identityplatform/project_default_config.py +18 -2
  460. pulumi_gcp/identityplatform/tenant.py +18 -2
  461. pulumi_gcp/identityplatform/tenant_default_supported_idp_config.py +18 -2
  462. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +18 -2
  463. pulumi_gcp/identityplatform/tenant_oauth_idp_config.py +18 -2
  464. pulumi_gcp/integrationconnectors/__init__.py +10 -0
  465. pulumi_gcp/integrationconnectors/_inputs.py +2518 -0
  466. pulumi_gcp/integrationconnectors/connection.py +1921 -0
  467. pulumi_gcp/integrationconnectors/outputs.py +2780 -0
  468. pulumi_gcp/kms/crypto_key.py +22 -10
  469. pulumi_gcp/kms/crypto_key_iam_binding.py +10 -30
  470. pulumi_gcp/kms/crypto_key_iam_member.py +10 -30
  471. pulumi_gcp/kms/crypto_key_iam_policy.py +10 -30
  472. pulumi_gcp/kms/crypto_key_version.py +18 -2
  473. pulumi_gcp/kms/key_ring.py +18 -2
  474. pulumi_gcp/kms/key_ring_iam_binding.py +10 -30
  475. pulumi_gcp/kms/key_ring_iam_member.py +10 -30
  476. pulumi_gcp/kms/key_ring_iam_policy.py +10 -30
  477. pulumi_gcp/kms/key_ring_import_job.py +18 -2
  478. pulumi_gcp/logging/_inputs.py +160 -0
  479. pulumi_gcp/logging/billing_account_bucket_config.py +61 -26
  480. pulumi_gcp/logging/billing_account_exclusion.py +20 -4
  481. pulumi_gcp/logging/billing_account_sink.py +20 -4
  482. pulumi_gcp/logging/folder_bucket_config.py +75 -4
  483. pulumi_gcp/logging/folder_exclusion.py +20 -4
  484. pulumi_gcp/logging/folder_sink.py +20 -4
  485. pulumi_gcp/logging/linked_dataset.py +18 -2
  486. pulumi_gcp/logging/log_view.py +18 -2
  487. pulumi_gcp/logging/metric.py +18 -2
  488. pulumi_gcp/logging/organization_bucket_config.py +75 -4
  489. pulumi_gcp/logging/organization_exclusion.py +20 -4
  490. pulumi_gcp/logging/organization_sink.py +20 -4
  491. pulumi_gcp/logging/outputs.py +196 -0
  492. pulumi_gcp/logging/project_bucket_config.py +59 -134
  493. pulumi_gcp/logging/project_exclusion.py +20 -4
  494. pulumi_gcp/logging/project_sink.py +95 -18
  495. pulumi_gcp/looker/instance.py +18 -2
  496. pulumi_gcp/memcache/instance.py +22 -10
  497. pulumi_gcp/ml/engine_model.py +22 -10
  498. pulumi_gcp/monitoring/_inputs.py +127 -13
  499. pulumi_gcp/monitoring/alert_policy.py +64 -2
  500. pulumi_gcp/monitoring/custom_service.py +18 -2
  501. pulumi_gcp/monitoring/dashboard.py +18 -2
  502. pulumi_gcp/monitoring/generic_service.py +18 -2
  503. pulumi_gcp/monitoring/group.py +18 -2
  504. pulumi_gcp/monitoring/metric_descriptor.py +18 -2
  505. pulumi_gcp/monitoring/monitored_project.py +18 -2
  506. pulumi_gcp/monitoring/notification_channel.py +18 -2
  507. pulumi_gcp/monitoring/outputs.py +158 -13
  508. pulumi_gcp/monitoring/slo.py +18 -2
  509. pulumi_gcp/monitoring/uptime_check_config.py +92 -9
  510. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  511. pulumi_gcp/networkconnectivity/_inputs.py +185 -0
  512. pulumi_gcp/networkconnectivity/hub.py +22 -10
  513. pulumi_gcp/networkconnectivity/outputs.py +189 -0
  514. pulumi_gcp/networkconnectivity/policy_based_route.py +1003 -0
  515. pulumi_gcp/networkconnectivity/service_connection_policy.py +22 -10
  516. pulumi_gcp/networkconnectivity/spoke.py +22 -10
  517. pulumi_gcp/networkmanagement/connectivity_test.py +22 -10
  518. pulumi_gcp/networksecurity/address_group.py +22 -10
  519. pulumi_gcp/networksecurity/authorization_policy.py +22 -10
  520. pulumi_gcp/networksecurity/client_tls_policy.py +22 -10
  521. pulumi_gcp/networksecurity/gateway_security_policy.py +18 -2
  522. pulumi_gcp/networksecurity/gateway_security_policy_rule.py +18 -2
  523. pulumi_gcp/networksecurity/server_tls_policy.py +92 -10
  524. pulumi_gcp/networksecurity/tls_inspection_policy.py +18 -2
  525. pulumi_gcp/networksecurity/url_list.py +18 -2
  526. pulumi_gcp/networkservices/edge_cache_keyset.py +22 -10
  527. pulumi_gcp/networkservices/edge_cache_origin.py +22 -10
  528. pulumi_gcp/networkservices/edge_cache_service.py +22 -10
  529. pulumi_gcp/networkservices/endpoint_policy.py +22 -10
  530. pulumi_gcp/networkservices/gateway.py +22 -10
  531. pulumi_gcp/networkservices/grpc_route.py +22 -10
  532. pulumi_gcp/networkservices/http_route.py +22 -10
  533. pulumi_gcp/networkservices/mesh.py +22 -10
  534. pulumi_gcp/networkservices/service_binding.py +22 -10
  535. pulumi_gcp/networkservices/tcp_route.py +22 -10
  536. pulumi_gcp/networkservices/tls_route.py +18 -2
  537. pulumi_gcp/notebooks/environment.py +18 -2
  538. pulumi_gcp/notebooks/instance.py +22 -10
  539. pulumi_gcp/notebooks/location.py +18 -2
  540. pulumi_gcp/notebooks/runtime.py +18 -2
  541. pulumi_gcp/organizations/access_approval_settings.py +18 -2
  542. pulumi_gcp/organizations/folder.py +22 -6
  543. pulumi_gcp/organizations/iam_member.py +10 -58
  544. pulumi_gcp/organizations/iam_policy.py +10 -58
  545. pulumi_gcp/organizations/policy.py +22 -4
  546. pulumi_gcp/organizations/project.py +24 -12
  547. pulumi_gcp/orgpolicy/custom_constraint.py +50 -22
  548. pulumi_gcp/orgpolicy/policy.py +18 -2
  549. pulumi_gcp/osconfig/guest_policies.py +18 -2
  550. pulumi_gcp/osconfig/os_policy_assignment.py +18 -2
  551. pulumi_gcp/osconfig/patch_deployment.py +18 -2
  552. pulumi_gcp/oslogin/ssh_public_key.py +18 -2
  553. pulumi_gcp/projects/access_approval_settings.py +18 -2
  554. pulumi_gcp/projects/api_key.py +18 -2
  555. pulumi_gcp/projects/iam_audit_config.py +10 -58
  556. pulumi_gcp/projects/iam_binding.py +10 -58
  557. pulumi_gcp/projects/iam_custom_role.py +18 -2
  558. pulumi_gcp/projects/iam_member.py +10 -58
  559. pulumi_gcp/projects/iam_policy.py +10 -58
  560. pulumi_gcp/projects/organization_policy.py +24 -8
  561. pulumi_gcp/projects/service.py +22 -4
  562. pulumi_gcp/projects/usage_export_bucket.py +20 -4
  563. pulumi_gcp/provider.py +60 -0
  564. pulumi_gcp/pubsub/__init__.py +4 -0
  565. pulumi_gcp/pubsub/_inputs.py +80 -0
  566. pulumi_gcp/pubsub/get_schema_iam_policy.py +147 -0
  567. pulumi_gcp/pubsub/lite_reservation.py +18 -2
  568. pulumi_gcp/pubsub/lite_subscription.py +18 -2
  569. pulumi_gcp/pubsub/lite_topic.py +18 -2
  570. pulumi_gcp/pubsub/outputs.py +56 -0
  571. pulumi_gcp/pubsub/schema.py +18 -2
  572. pulumi_gcp/pubsub/schema_iam_binding.py +601 -0
  573. pulumi_gcp/pubsub/schema_iam_member.py +601 -0
  574. pulumi_gcp/pubsub/schema_iam_policy.py +523 -0
  575. pulumi_gcp/pubsub/subscription.py +22 -10
  576. pulumi_gcp/pubsub/subscription_iam_binding.py +12 -20
  577. pulumi_gcp/pubsub/subscription_iam_member.py +12 -20
  578. pulumi_gcp/pubsub/subscription_iam_policy.py +12 -20
  579. pulumi_gcp/pubsub/topic.py +36 -17
  580. pulumi_gcp/recaptcha/enterprise_key.py +22 -10
  581. pulumi_gcp/redis/cluster.py +42 -18
  582. pulumi_gcp/redis/instance.py +22 -58
  583. pulumi_gcp/resourcemanager/lien.py +18 -2
  584. pulumi_gcp/runtimeconfig/config.py +26 -6
  585. pulumi_gcp/runtimeconfig/variable.py +26 -6
  586. pulumi_gcp/secretmanager/__init__.py +1 -0
  587. pulumi_gcp/secretmanager/get_secrets.py +133 -0
  588. pulumi_gcp/secretmanager/outputs.py +354 -0
  589. pulumi_gcp/secretmanager/secret.py +36 -10
  590. pulumi_gcp/secretmanager/secret_version.py +18 -2
  591. pulumi_gcp/securitycenter/folder_custom_module.py +18 -2
  592. pulumi_gcp/securitycenter/instance_iam_binding.py +18 -2
  593. pulumi_gcp/securitycenter/instance_iam_member.py +18 -2
  594. pulumi_gcp/securitycenter/instance_iam_policy.py +18 -2
  595. pulumi_gcp/securitycenter/mute_config.py +18 -2
  596. pulumi_gcp/securitycenter/notification_config.py +18 -2
  597. pulumi_gcp/securitycenter/organization_custom_module.py +18 -2
  598. pulumi_gcp/securitycenter/project_custom_module.py +18 -2
  599. pulumi_gcp/securitycenter/source.py +18 -2
  600. pulumi_gcp/securitycenter/source_iam_binding.py +18 -2
  601. pulumi_gcp/securitycenter/source_iam_member.py +18 -2
  602. pulumi_gcp/securitycenter/source_iam_policy.py +18 -2
  603. pulumi_gcp/serviceaccount/account.py +20 -4
  604. pulumi_gcp/serviceaccount/iam_binding.py +2 -30
  605. pulumi_gcp/serviceaccount/iam_member.py +2 -30
  606. pulumi_gcp/serviceaccount/iam_policy.py +2 -30
  607. pulumi_gcp/servicedirectory/endpoint.py +18 -2
  608. pulumi_gcp/servicedirectory/namespace.py +22 -10
  609. pulumi_gcp/servicedirectory/service.py +18 -2
  610. pulumi_gcp/servicenetworking/connection.py +22 -6
  611. pulumi_gcp/servicenetworking/peered_dns_domain.py +18 -6
  612. pulumi_gcp/serviceusage/consumer_quota_override.py +18 -2
  613. pulumi_gcp/sourcerepo/repository.py +18 -2
  614. pulumi_gcp/spanner/_inputs.py +142 -0
  615. pulumi_gcp/spanner/database.py +18 -2
  616. pulumi_gcp/spanner/database_iam_binding.py +10 -26
  617. pulumi_gcp/spanner/database_iam_member.py +10 -26
  618. pulumi_gcp/spanner/database_iam_policy.py +10 -26
  619. pulumi_gcp/spanner/get_instance.py +12 -1
  620. pulumi_gcp/spanner/instance.py +99 -10
  621. pulumi_gcp/spanner/instance_iam_binding.py +10 -26
  622. pulumi_gcp/spanner/instance_iam_member.py +10 -26
  623. pulumi_gcp/spanner/instance_iam_policy.py +10 -26
  624. pulumi_gcp/spanner/outputs.py +236 -0
  625. pulumi_gcp/sql/_inputs.py +27 -7
  626. pulumi_gcp/sql/database.py +18 -2
  627. pulumi_gcp/sql/database_instance.py +24 -8
  628. pulumi_gcp/sql/outputs.py +41 -9
  629. pulumi_gcp/sql/source_representation_instance.py +25 -9
  630. pulumi_gcp/sql/user.py +38 -8
  631. pulumi_gcp/storage/_inputs.py +59 -1
  632. pulumi_gcp/storage/bucket.py +69 -6
  633. pulumi_gcp/storage/bucket_access_control.py +18 -2
  634. pulumi_gcp/storage/bucket_object.py +47 -0
  635. pulumi_gcp/storage/default_object_access_control.py +18 -2
  636. pulumi_gcp/storage/get_bucket.py +11 -1
  637. pulumi_gcp/storage/get_bucket_object.py +11 -1
  638. pulumi_gcp/storage/get_bucket_object_content.py +11 -1
  639. pulumi_gcp/storage/hmac_key.py +18 -2
  640. pulumi_gcp/storage/insights_report_config.py +18 -2
  641. pulumi_gcp/storage/notification.py +20 -4
  642. pulumi_gcp/storage/object_access_control.py +18 -2
  643. pulumi_gcp/storage/outputs.py +129 -2
  644. pulumi_gcp/storage/transfer_agent_pool.py +18 -2
  645. pulumi_gcp/storage/transfer_job.py +20 -4
  646. pulumi_gcp/tags/location_tag_binding.py +35 -19
  647. pulumi_gcp/tags/tag_binding.py +18 -2
  648. pulumi_gcp/tags/tag_key.py +18 -2
  649. pulumi_gcp/tags/tag_value.py +18 -2
  650. pulumi_gcp/tpu/_inputs.py +450 -0
  651. pulumi_gcp/tpu/node.py +22 -10
  652. pulumi_gcp/tpu/outputs.py +477 -0
  653. pulumi_gcp/tpu/v2_vm.py +906 -38
  654. pulumi_gcp/vertex/_inputs.py +39 -0
  655. pulumi_gcp/vertex/ai_dataset.py +4 -8
  656. pulumi_gcp/vertex/ai_endpoint.py +22 -10
  657. pulumi_gcp/vertex/ai_feature_store.py +22 -10
  658. pulumi_gcp/vertex/ai_feature_store_entity_type.py +22 -10
  659. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +22 -10
  660. pulumi_gcp/vertex/ai_index.py +22 -10
  661. pulumi_gcp/vertex/ai_index_endpoint.py +116 -10
  662. pulumi_gcp/vertex/ai_metadata_store.py +18 -2
  663. pulumi_gcp/vertex/ai_tensorboard.py +22 -10
  664. pulumi_gcp/vertex/outputs.py +50 -0
  665. pulumi_gcp/vmwareengine/cluster.py +18 -2
  666. pulumi_gcp/vmwareengine/network.py +18 -2
  667. pulumi_gcp/vmwareengine/private_cloud.py +18 -2
  668. pulumi_gcp/vpcaccess/connector.py +18 -2
  669. pulumi_gcp/workflows/workflow.py +159 -11
  670. pulumi_gcp/workstations/_inputs.py +23 -0
  671. pulumi_gcp/workstations/outputs.py +19 -0
  672. pulumi_gcp/workstations/workstation.py +22 -10
  673. pulumi_gcp/workstations/workstation_cluster.py +142 -10
  674. pulumi_gcp/workstations/workstation_config.py +24 -12
  675. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/METADATA +1 -1
  676. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/RECORD +678 -650
  677. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/WHEEL +0 -0
  678. {pulumi_gcp-7.0.0a1699651384.dist-info → pulumi_gcp-7.1.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1274 @@
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 pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['HostingCustomDomainArgs', 'HostingCustomDomain']
15
+
16
+ @pulumi.input_type
17
+ class HostingCustomDomainArgs:
18
+ def __init__(__self__, *,
19
+ custom_domain: pulumi.Input[str],
20
+ site_id: pulumi.Input[str],
21
+ cert_preference: Optional[pulumi.Input[str]] = None,
22
+ project: Optional[pulumi.Input[str]] = None,
23
+ redirect_target: Optional[pulumi.Input[str]] = None,
24
+ wait_dns_verification: Optional[pulumi.Input[bool]] = None):
25
+ """
26
+ The set of arguments for constructing a HostingCustomDomain resource.
27
+ :param pulumi.Input[str] custom_domain: The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.
28
+
29
+
30
+ - - -
31
+ :param pulumi.Input[str] site_id: The ID of the site in which to create this custom domain association.
32
+ :param pulumi.Input[str] cert_preference: A field that lets you specify which SSL certificate type Hosting creates
33
+ for your domain name. Spark plan `CustomDomain`s only have access to the
34
+ `GROUPED` cert type, while Blaze plan can select any option.
35
+ Possible values are: `GROUPED`, `PROJECT_GROUPED`, `DEDICATED`.
36
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
37
+ If it is not provided, the provider project is used.
38
+ :param pulumi.Input[str] redirect_target: A domain name that this CustomDomain should direct traffic towards. If
39
+ specified, Hosting will respond to requests against this CustomDomain
40
+ with an HTTP 301 code, and route traffic to the specified `redirect_target`
41
+ instead.
42
+ :param pulumi.Input[bool] wait_dns_verification: If true, Terraform will wait for DNS records to be fully resolved on the 'CustomDomain'. If false, Terraform will not
43
+ wait for DNS records on the 'CustomDomain'. Any issues in the 'CustomDomain' will be returned and stored in the
44
+ Terraform state.
45
+ """
46
+ pulumi.set(__self__, "custom_domain", custom_domain)
47
+ pulumi.set(__self__, "site_id", site_id)
48
+ if cert_preference is not None:
49
+ pulumi.set(__self__, "cert_preference", cert_preference)
50
+ if project is not None:
51
+ pulumi.set(__self__, "project", project)
52
+ if redirect_target is not None:
53
+ pulumi.set(__self__, "redirect_target", redirect_target)
54
+ if wait_dns_verification is not None:
55
+ pulumi.set(__self__, "wait_dns_verification", wait_dns_verification)
56
+
57
+ @property
58
+ @pulumi.getter(name="customDomain")
59
+ def custom_domain(self) -> pulumi.Input[str]:
60
+ """
61
+ The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.
62
+
63
+
64
+ - - -
65
+ """
66
+ return pulumi.get(self, "custom_domain")
67
+
68
+ @custom_domain.setter
69
+ def custom_domain(self, value: pulumi.Input[str]):
70
+ pulumi.set(self, "custom_domain", value)
71
+
72
+ @property
73
+ @pulumi.getter(name="siteId")
74
+ def site_id(self) -> pulumi.Input[str]:
75
+ """
76
+ The ID of the site in which to create this custom domain association.
77
+ """
78
+ return pulumi.get(self, "site_id")
79
+
80
+ @site_id.setter
81
+ def site_id(self, value: pulumi.Input[str]):
82
+ pulumi.set(self, "site_id", value)
83
+
84
+ @property
85
+ @pulumi.getter(name="certPreference")
86
+ def cert_preference(self) -> Optional[pulumi.Input[str]]:
87
+ """
88
+ A field that lets you specify which SSL certificate type Hosting creates
89
+ for your domain name. Spark plan `CustomDomain`s only have access to the
90
+ `GROUPED` cert type, while Blaze plan can select any option.
91
+ Possible values are: `GROUPED`, `PROJECT_GROUPED`, `DEDICATED`.
92
+ """
93
+ return pulumi.get(self, "cert_preference")
94
+
95
+ @cert_preference.setter
96
+ def cert_preference(self, value: Optional[pulumi.Input[str]]):
97
+ pulumi.set(self, "cert_preference", value)
98
+
99
+ @property
100
+ @pulumi.getter
101
+ def project(self) -> Optional[pulumi.Input[str]]:
102
+ """
103
+ The ID of the project in which the resource belongs.
104
+ If it is not provided, the provider project is used.
105
+ """
106
+ return pulumi.get(self, "project")
107
+
108
+ @project.setter
109
+ def project(self, value: Optional[pulumi.Input[str]]):
110
+ pulumi.set(self, "project", value)
111
+
112
+ @property
113
+ @pulumi.getter(name="redirectTarget")
114
+ def redirect_target(self) -> Optional[pulumi.Input[str]]:
115
+ """
116
+ A domain name that this CustomDomain should direct traffic towards. If
117
+ specified, Hosting will respond to requests against this CustomDomain
118
+ with an HTTP 301 code, and route traffic to the specified `redirect_target`
119
+ instead.
120
+ """
121
+ return pulumi.get(self, "redirect_target")
122
+
123
+ @redirect_target.setter
124
+ def redirect_target(self, value: Optional[pulumi.Input[str]]):
125
+ pulumi.set(self, "redirect_target", value)
126
+
127
+ @property
128
+ @pulumi.getter(name="waitDnsVerification")
129
+ def wait_dns_verification(self) -> Optional[pulumi.Input[bool]]:
130
+ """
131
+ If true, Terraform will wait for DNS records to be fully resolved on the 'CustomDomain'. If false, Terraform will not
132
+ wait for DNS records on the 'CustomDomain'. Any issues in the 'CustomDomain' will be returned and stored in the
133
+ Terraform state.
134
+ """
135
+ return pulumi.get(self, "wait_dns_verification")
136
+
137
+ @wait_dns_verification.setter
138
+ def wait_dns_verification(self, value: Optional[pulumi.Input[bool]]):
139
+ pulumi.set(self, "wait_dns_verification", value)
140
+
141
+
142
+ @pulumi.input_type
143
+ class _HostingCustomDomainState:
144
+ def __init__(__self__, *,
145
+ cert_preference: Optional[pulumi.Input[str]] = None,
146
+ certs: Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainCertArgs']]]] = None,
147
+ create_time: Optional[pulumi.Input[str]] = None,
148
+ custom_domain: Optional[pulumi.Input[str]] = None,
149
+ delete_time: Optional[pulumi.Input[str]] = None,
150
+ etag: Optional[pulumi.Input[str]] = None,
151
+ expire_time: Optional[pulumi.Input[str]] = None,
152
+ host_state: Optional[pulumi.Input[str]] = None,
153
+ issues: Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainIssueArgs']]]] = None,
154
+ name: Optional[pulumi.Input[str]] = None,
155
+ ownership_state: Optional[pulumi.Input[str]] = None,
156
+ project: Optional[pulumi.Input[str]] = None,
157
+ reconciling: Optional[pulumi.Input[bool]] = None,
158
+ redirect_target: Optional[pulumi.Input[str]] = None,
159
+ required_dns_updates: Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainRequiredDnsUpdateArgs']]]] = None,
160
+ site_id: Optional[pulumi.Input[str]] = None,
161
+ update_time: Optional[pulumi.Input[str]] = None,
162
+ wait_dns_verification: Optional[pulumi.Input[bool]] = None):
163
+ """
164
+ Input properties used for looking up and filtering HostingCustomDomain resources.
165
+ :param pulumi.Input[str] cert_preference: A field that lets you specify which SSL certificate type Hosting creates
166
+ for your domain name. Spark plan `CustomDomain`s only have access to the
167
+ `GROUPED` cert type, while Blaze plan can select any option.
168
+ Possible values are: `GROUPED`, `PROJECT_GROUPED`, `DEDICATED`.
169
+ :param pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainCertArgs']]] certs: The SSL certificate Hosting has for this `CustomDomain`'s domain name.
170
+ For new `CustomDomain`s, this often represents Hosting's intent to create
171
+ a certificate, rather than an actual cert. Check the `state` field for
172
+ more.
173
+ Structure is documented below.
174
+ :param pulumi.Input[str] create_time: The `CustomDomain`'s create time.
175
+ :param pulumi.Input[str] custom_domain: The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.
176
+
177
+
178
+ - - -
179
+ :param pulumi.Input[str] delete_time: The time the `CustomDomain` was deleted; null for `CustomDomains` that
180
+ haven't been deleted. Deleted `CustomDomains` persist for approximately 30
181
+ days, after which time Hosting removes them completely.
182
+ :param pulumi.Input[str] etag: A string that represents the current state of the `CustomDomain` and
183
+ allows you to confirm its initial state in requests that would modify it.
184
+ :param pulumi.Input[str] expire_time: The minimum time before a soft-deleted `CustomDomain` is completely removed
185
+ from Hosting; null for `CustomDomains` that haven't been deleted.
186
+ :param pulumi.Input[str] host_state: The host state of your domain name. Host state is determined by checking each
187
+ IP address associated with your domain name to see if it's serving
188
+ Hosting content.
189
+ HOST_UNHOSTED:
190
+ Your `CustomDomain`'s domain name isn't associated with any IP addresses.
191
+ HOST_UNREACHABLE:
192
+ Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS
193
+ queries to find your domain name's IP addresses resulted in errors. See
194
+ your `CustomDomain`'s `issues` field for more details.
195
+ HOST_MISMATCH:
196
+ Your `CustomDomain`'s domain name has IP addresses that don't ultimately
197
+ resolve to Hosting.
198
+ HOST_CONFLICT:
199
+ Your `CustomDomain`'s domain name has IP addresses that resolve to both
200
+ Hosting and other services. To ensure consistent results, remove `A` and
201
+ `AAAA` records related to non-Hosting services.
202
+ HOST_ACTIVE:
203
+ All requests against your `CustomDomain`'s domain name are served by
204
+ Hosting. If the `CustomDomain`'s `OwnershipState` is also `ACTIVE`, Hosting
205
+ serves your Hosting Site's content on the domain name.
206
+ :param pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainIssueArgs']]] issues: A set of errors Hosting systems encountered when trying to establish
207
+ Hosting's ability to serve secure content for your domain name. Resolve
208
+ these issues to ensure your `CustomDomain` behaves properly.
209
+ Structure is documented below.
210
+ :param pulumi.Input[str] name: The fully-qualified name of the `CustomDomain`.
211
+ :param pulumi.Input[str] ownership_state: The ownership state of your domain name. Ownership is determined at a
212
+ Firebase project level, and established by adding `TXT` records to your
213
+ domain name's DNS records.
214
+ Ownership cascades to subdomains. Granting a project ownership of `foo.com`
215
+ also grants that project ownership over `bar.foo.com`, unless you add
216
+ specific `TXT` records to `bar.foo.com` that grant a different project
217
+ ownership.
218
+ If your `CustomDomain` is in an `OwnershipState` other than
219
+ `OWNERSHIP_ACTIVE` for more than 30 days and it hasn't been updated in at
220
+ least 30 days, Hosting's ownership systems delete the `CustomDomain`.
221
+ OWNERSHIP_MISSING:
222
+ Your `CustomDomain`'s domain name has no Hosting-related ownership records;
223
+ no Firebase project has permission to act on the domain name's behalf.
224
+ OWNERSHIP_UNREACHABLE:
225
+ Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS
226
+ queries to find your domain name's ownership records resulted in errors.
227
+ See your `CustomDomain`'s `issues` field for more details.
228
+ OWNERSHIP_MISMATCH:
229
+ Your `CustomDomain`'s domain name is owned by another Firebase project.
230
+ Remove the conflicting `TXT` records and replace them with project-specific
231
+ records for your current Firebase project.
232
+ OWNERSHIP_CONFLICT:
233
+ Your `CustomDomain`'s domain name has conflicting `TXT` records that
234
+ indicate ownership by both your current Firebase project and another
235
+ project. Remove the other project's ownership records to grant the current
236
+ project ownership.
237
+ OWNERSHIP_PENDING:
238
+ Your `CustomDomain`'s DNS records are configured correctly. Hosting will
239
+ transfer ownership of your domain to this `CustomDomain` within 24 hours.
240
+ OWNERSHIP_ACTIVE:
241
+ Your `CustomDomain`'s domain name has `TXT` records that grant its project
242
+ permission to act on its behalf.
243
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
244
+ If it is not provided, the provider project is used.
245
+ :param pulumi.Input[bool] reconciling: if true, indicates that Hosting's systems are attmepting to
246
+ make the `CustomDomain`'s state match your preferred state. This is most
247
+ frequently `true` when initially provisioning a `CustomDomain` or when creating
248
+ a new SSL certificate to match an updated `cert_preference`
249
+ :param pulumi.Input[str] redirect_target: A domain name that this CustomDomain should direct traffic towards. If
250
+ specified, Hosting will respond to requests against this CustomDomain
251
+ with an HTTP 301 code, and route traffic to the specified `redirect_target`
252
+ instead.
253
+ :param pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainRequiredDnsUpdateArgs']]] required_dns_updates: A set of updates you should make to the domain name's DNS records to
254
+ let Hosting serve secure content on its behalf.
255
+ Structure is documented below.
256
+ :param pulumi.Input[str] site_id: The ID of the site in which to create this custom domain association.
257
+ :param pulumi.Input[str] update_time: The last time the `CustomDomain` was updated.
258
+ :param pulumi.Input[bool] wait_dns_verification: If true, Terraform will wait for DNS records to be fully resolved on the 'CustomDomain'. If false, Terraform will not
259
+ wait for DNS records on the 'CustomDomain'. Any issues in the 'CustomDomain' will be returned and stored in the
260
+ Terraform state.
261
+ """
262
+ if cert_preference is not None:
263
+ pulumi.set(__self__, "cert_preference", cert_preference)
264
+ if certs is not None:
265
+ pulumi.set(__self__, "certs", certs)
266
+ if create_time is not None:
267
+ pulumi.set(__self__, "create_time", create_time)
268
+ if custom_domain is not None:
269
+ pulumi.set(__self__, "custom_domain", custom_domain)
270
+ if delete_time is not None:
271
+ pulumi.set(__self__, "delete_time", delete_time)
272
+ if etag is not None:
273
+ pulumi.set(__self__, "etag", etag)
274
+ if expire_time is not None:
275
+ pulumi.set(__self__, "expire_time", expire_time)
276
+ if host_state is not None:
277
+ pulumi.set(__self__, "host_state", host_state)
278
+ if issues is not None:
279
+ pulumi.set(__self__, "issues", issues)
280
+ if name is not None:
281
+ pulumi.set(__self__, "name", name)
282
+ if ownership_state is not None:
283
+ pulumi.set(__self__, "ownership_state", ownership_state)
284
+ if project is not None:
285
+ pulumi.set(__self__, "project", project)
286
+ if reconciling is not None:
287
+ pulumi.set(__self__, "reconciling", reconciling)
288
+ if redirect_target is not None:
289
+ pulumi.set(__self__, "redirect_target", redirect_target)
290
+ if required_dns_updates is not None:
291
+ pulumi.set(__self__, "required_dns_updates", required_dns_updates)
292
+ if site_id is not None:
293
+ pulumi.set(__self__, "site_id", site_id)
294
+ if update_time is not None:
295
+ pulumi.set(__self__, "update_time", update_time)
296
+ if wait_dns_verification is not None:
297
+ pulumi.set(__self__, "wait_dns_verification", wait_dns_verification)
298
+
299
+ @property
300
+ @pulumi.getter(name="certPreference")
301
+ def cert_preference(self) -> Optional[pulumi.Input[str]]:
302
+ """
303
+ A field that lets you specify which SSL certificate type Hosting creates
304
+ for your domain name. Spark plan `CustomDomain`s only have access to the
305
+ `GROUPED` cert type, while Blaze plan can select any option.
306
+ Possible values are: `GROUPED`, `PROJECT_GROUPED`, `DEDICATED`.
307
+ """
308
+ return pulumi.get(self, "cert_preference")
309
+
310
+ @cert_preference.setter
311
+ def cert_preference(self, value: Optional[pulumi.Input[str]]):
312
+ pulumi.set(self, "cert_preference", value)
313
+
314
+ @property
315
+ @pulumi.getter
316
+ def certs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainCertArgs']]]]:
317
+ """
318
+ The SSL certificate Hosting has for this `CustomDomain`'s domain name.
319
+ For new `CustomDomain`s, this often represents Hosting's intent to create
320
+ a certificate, rather than an actual cert. Check the `state` field for
321
+ more.
322
+ Structure is documented below.
323
+ """
324
+ return pulumi.get(self, "certs")
325
+
326
+ @certs.setter
327
+ def certs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainCertArgs']]]]):
328
+ pulumi.set(self, "certs", value)
329
+
330
+ @property
331
+ @pulumi.getter(name="createTime")
332
+ def create_time(self) -> Optional[pulumi.Input[str]]:
333
+ """
334
+ The `CustomDomain`'s create time.
335
+ """
336
+ return pulumi.get(self, "create_time")
337
+
338
+ @create_time.setter
339
+ def create_time(self, value: Optional[pulumi.Input[str]]):
340
+ pulumi.set(self, "create_time", value)
341
+
342
+ @property
343
+ @pulumi.getter(name="customDomain")
344
+ def custom_domain(self) -> Optional[pulumi.Input[str]]:
345
+ """
346
+ The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.
347
+
348
+
349
+ - - -
350
+ """
351
+ return pulumi.get(self, "custom_domain")
352
+
353
+ @custom_domain.setter
354
+ def custom_domain(self, value: Optional[pulumi.Input[str]]):
355
+ pulumi.set(self, "custom_domain", value)
356
+
357
+ @property
358
+ @pulumi.getter(name="deleteTime")
359
+ def delete_time(self) -> Optional[pulumi.Input[str]]:
360
+ """
361
+ The time the `CustomDomain` was deleted; null for `CustomDomains` that
362
+ haven't been deleted. Deleted `CustomDomains` persist for approximately 30
363
+ days, after which time Hosting removes them completely.
364
+ """
365
+ return pulumi.get(self, "delete_time")
366
+
367
+ @delete_time.setter
368
+ def delete_time(self, value: Optional[pulumi.Input[str]]):
369
+ pulumi.set(self, "delete_time", value)
370
+
371
+ @property
372
+ @pulumi.getter
373
+ def etag(self) -> Optional[pulumi.Input[str]]:
374
+ """
375
+ A string that represents the current state of the `CustomDomain` and
376
+ allows you to confirm its initial state in requests that would modify it.
377
+ """
378
+ return pulumi.get(self, "etag")
379
+
380
+ @etag.setter
381
+ def etag(self, value: Optional[pulumi.Input[str]]):
382
+ pulumi.set(self, "etag", value)
383
+
384
+ @property
385
+ @pulumi.getter(name="expireTime")
386
+ def expire_time(self) -> Optional[pulumi.Input[str]]:
387
+ """
388
+ The minimum time before a soft-deleted `CustomDomain` is completely removed
389
+ from Hosting; null for `CustomDomains` that haven't been deleted.
390
+ """
391
+ return pulumi.get(self, "expire_time")
392
+
393
+ @expire_time.setter
394
+ def expire_time(self, value: Optional[pulumi.Input[str]]):
395
+ pulumi.set(self, "expire_time", value)
396
+
397
+ @property
398
+ @pulumi.getter(name="hostState")
399
+ def host_state(self) -> Optional[pulumi.Input[str]]:
400
+ """
401
+ The host state of your domain name. Host state is determined by checking each
402
+ IP address associated with your domain name to see if it's serving
403
+ Hosting content.
404
+ HOST_UNHOSTED:
405
+ Your `CustomDomain`'s domain name isn't associated with any IP addresses.
406
+ HOST_UNREACHABLE:
407
+ Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS
408
+ queries to find your domain name's IP addresses resulted in errors. See
409
+ your `CustomDomain`'s `issues` field for more details.
410
+ HOST_MISMATCH:
411
+ Your `CustomDomain`'s domain name has IP addresses that don't ultimately
412
+ resolve to Hosting.
413
+ HOST_CONFLICT:
414
+ Your `CustomDomain`'s domain name has IP addresses that resolve to both
415
+ Hosting and other services. To ensure consistent results, remove `A` and
416
+ `AAAA` records related to non-Hosting services.
417
+ HOST_ACTIVE:
418
+ All requests against your `CustomDomain`'s domain name are served by
419
+ Hosting. If the `CustomDomain`'s `OwnershipState` is also `ACTIVE`, Hosting
420
+ serves your Hosting Site's content on the domain name.
421
+ """
422
+ return pulumi.get(self, "host_state")
423
+
424
+ @host_state.setter
425
+ def host_state(self, value: Optional[pulumi.Input[str]]):
426
+ pulumi.set(self, "host_state", value)
427
+
428
+ @property
429
+ @pulumi.getter
430
+ def issues(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainIssueArgs']]]]:
431
+ """
432
+ A set of errors Hosting systems encountered when trying to establish
433
+ Hosting's ability to serve secure content for your domain name. Resolve
434
+ these issues to ensure your `CustomDomain` behaves properly.
435
+ Structure is documented below.
436
+ """
437
+ return pulumi.get(self, "issues")
438
+
439
+ @issues.setter
440
+ def issues(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainIssueArgs']]]]):
441
+ pulumi.set(self, "issues", value)
442
+
443
+ @property
444
+ @pulumi.getter
445
+ def name(self) -> Optional[pulumi.Input[str]]:
446
+ """
447
+ The fully-qualified name of the `CustomDomain`.
448
+ """
449
+ return pulumi.get(self, "name")
450
+
451
+ @name.setter
452
+ def name(self, value: Optional[pulumi.Input[str]]):
453
+ pulumi.set(self, "name", value)
454
+
455
+ @property
456
+ @pulumi.getter(name="ownershipState")
457
+ def ownership_state(self) -> Optional[pulumi.Input[str]]:
458
+ """
459
+ The ownership state of your domain name. Ownership is determined at a
460
+ Firebase project level, and established by adding `TXT` records to your
461
+ domain name's DNS records.
462
+ Ownership cascades to subdomains. Granting a project ownership of `foo.com`
463
+ also grants that project ownership over `bar.foo.com`, unless you add
464
+ specific `TXT` records to `bar.foo.com` that grant a different project
465
+ ownership.
466
+ If your `CustomDomain` is in an `OwnershipState` other than
467
+ `OWNERSHIP_ACTIVE` for more than 30 days and it hasn't been updated in at
468
+ least 30 days, Hosting's ownership systems delete the `CustomDomain`.
469
+ OWNERSHIP_MISSING:
470
+ Your `CustomDomain`'s domain name has no Hosting-related ownership records;
471
+ no Firebase project has permission to act on the domain name's behalf.
472
+ OWNERSHIP_UNREACHABLE:
473
+ Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS
474
+ queries to find your domain name's ownership records resulted in errors.
475
+ See your `CustomDomain`'s `issues` field for more details.
476
+ OWNERSHIP_MISMATCH:
477
+ Your `CustomDomain`'s domain name is owned by another Firebase project.
478
+ Remove the conflicting `TXT` records and replace them with project-specific
479
+ records for your current Firebase project.
480
+ OWNERSHIP_CONFLICT:
481
+ Your `CustomDomain`'s domain name has conflicting `TXT` records that
482
+ indicate ownership by both your current Firebase project and another
483
+ project. Remove the other project's ownership records to grant the current
484
+ project ownership.
485
+ OWNERSHIP_PENDING:
486
+ Your `CustomDomain`'s DNS records are configured correctly. Hosting will
487
+ transfer ownership of your domain to this `CustomDomain` within 24 hours.
488
+ OWNERSHIP_ACTIVE:
489
+ Your `CustomDomain`'s domain name has `TXT` records that grant its project
490
+ permission to act on its behalf.
491
+ """
492
+ return pulumi.get(self, "ownership_state")
493
+
494
+ @ownership_state.setter
495
+ def ownership_state(self, value: Optional[pulumi.Input[str]]):
496
+ pulumi.set(self, "ownership_state", value)
497
+
498
+ @property
499
+ @pulumi.getter
500
+ def project(self) -> Optional[pulumi.Input[str]]:
501
+ """
502
+ The ID of the project in which the resource belongs.
503
+ If it is not provided, the provider project is used.
504
+ """
505
+ return pulumi.get(self, "project")
506
+
507
+ @project.setter
508
+ def project(self, value: Optional[pulumi.Input[str]]):
509
+ pulumi.set(self, "project", value)
510
+
511
+ @property
512
+ @pulumi.getter
513
+ def reconciling(self) -> Optional[pulumi.Input[bool]]:
514
+ """
515
+ if true, indicates that Hosting's systems are attmepting to
516
+ make the `CustomDomain`'s state match your preferred state. This is most
517
+ frequently `true` when initially provisioning a `CustomDomain` or when creating
518
+ a new SSL certificate to match an updated `cert_preference`
519
+ """
520
+ return pulumi.get(self, "reconciling")
521
+
522
+ @reconciling.setter
523
+ def reconciling(self, value: Optional[pulumi.Input[bool]]):
524
+ pulumi.set(self, "reconciling", value)
525
+
526
+ @property
527
+ @pulumi.getter(name="redirectTarget")
528
+ def redirect_target(self) -> Optional[pulumi.Input[str]]:
529
+ """
530
+ A domain name that this CustomDomain should direct traffic towards. If
531
+ specified, Hosting will respond to requests against this CustomDomain
532
+ with an HTTP 301 code, and route traffic to the specified `redirect_target`
533
+ instead.
534
+ """
535
+ return pulumi.get(self, "redirect_target")
536
+
537
+ @redirect_target.setter
538
+ def redirect_target(self, value: Optional[pulumi.Input[str]]):
539
+ pulumi.set(self, "redirect_target", value)
540
+
541
+ @property
542
+ @pulumi.getter(name="requiredDnsUpdates")
543
+ def required_dns_updates(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainRequiredDnsUpdateArgs']]]]:
544
+ """
545
+ A set of updates you should make to the domain name's DNS records to
546
+ let Hosting serve secure content on its behalf.
547
+ Structure is documented below.
548
+ """
549
+ return pulumi.get(self, "required_dns_updates")
550
+
551
+ @required_dns_updates.setter
552
+ def required_dns_updates(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['HostingCustomDomainRequiredDnsUpdateArgs']]]]):
553
+ pulumi.set(self, "required_dns_updates", value)
554
+
555
+ @property
556
+ @pulumi.getter(name="siteId")
557
+ def site_id(self) -> Optional[pulumi.Input[str]]:
558
+ """
559
+ The ID of the site in which to create this custom domain association.
560
+ """
561
+ return pulumi.get(self, "site_id")
562
+
563
+ @site_id.setter
564
+ def site_id(self, value: Optional[pulumi.Input[str]]):
565
+ pulumi.set(self, "site_id", value)
566
+
567
+ @property
568
+ @pulumi.getter(name="updateTime")
569
+ def update_time(self) -> Optional[pulumi.Input[str]]:
570
+ """
571
+ The last time the `CustomDomain` was updated.
572
+ """
573
+ return pulumi.get(self, "update_time")
574
+
575
+ @update_time.setter
576
+ def update_time(self, value: Optional[pulumi.Input[str]]):
577
+ pulumi.set(self, "update_time", value)
578
+
579
+ @property
580
+ @pulumi.getter(name="waitDnsVerification")
581
+ def wait_dns_verification(self) -> Optional[pulumi.Input[bool]]:
582
+ """
583
+ If true, Terraform will wait for DNS records to be fully resolved on the 'CustomDomain'. If false, Terraform will not
584
+ wait for DNS records on the 'CustomDomain'. Any issues in the 'CustomDomain' will be returned and stored in the
585
+ Terraform state.
586
+ """
587
+ return pulumi.get(self, "wait_dns_verification")
588
+
589
+ @wait_dns_verification.setter
590
+ def wait_dns_verification(self, value: Optional[pulumi.Input[bool]]):
591
+ pulumi.set(self, "wait_dns_verification", value)
592
+
593
+
594
+ class HostingCustomDomain(pulumi.CustomResource):
595
+ @overload
596
+ def __init__(__self__,
597
+ resource_name: str,
598
+ opts: Optional[pulumi.ResourceOptions] = None,
599
+ cert_preference: Optional[pulumi.Input[str]] = None,
600
+ custom_domain: Optional[pulumi.Input[str]] = None,
601
+ project: Optional[pulumi.Input[str]] = None,
602
+ redirect_target: Optional[pulumi.Input[str]] = None,
603
+ site_id: Optional[pulumi.Input[str]] = None,
604
+ wait_dns_verification: Optional[pulumi.Input[bool]] = None,
605
+ __props__=None):
606
+ """
607
+ ## Example Usage
608
+ ### Firebasehosting Customdomain Basic
609
+
610
+ ```python
611
+ import pulumi
612
+ import pulumi_gcp as gcp
613
+
614
+ default = gcp.firebase.HostingCustomDomain("default",
615
+ project="my-project-name",
616
+ site_id="site-id",
617
+ custom_domain="custom.domain.com",
618
+ opts=pulumi.ResourceOptions(provider=google_beta))
619
+ ```
620
+ ### Firebasehosting Customdomain Full
621
+
622
+ ```python
623
+ import pulumi
624
+ import pulumi_gcp as gcp
625
+
626
+ default_hosting_site = gcp.firebase.HostingSite("defaultHostingSite",
627
+ project="my-project-name",
628
+ site_id="site-id-full",
629
+ opts=pulumi.ResourceOptions(provider=google_beta))
630
+ default_hosting_custom_domain = gcp.firebase.HostingCustomDomain("defaultHostingCustomDomain",
631
+ project="my-project-name",
632
+ site_id=default_hosting_site.site_id,
633
+ custom_domain="source.domain.com",
634
+ cert_preference="GROUPED",
635
+ redirect_target="destination.domain.com",
636
+ wait_dns_verification=False,
637
+ opts=pulumi.ResourceOptions(provider=google_beta))
638
+ ```
639
+ ### Firebasehosting Customdomain Cloud Run
640
+
641
+ ```python
642
+ import pulumi
643
+ import pulumi_gcp as gcp
644
+
645
+ default_hosting_site = gcp.firebase.HostingSite("defaultHostingSite",
646
+ project="my-project-name",
647
+ site_id="site-id",
648
+ opts=pulumi.ResourceOptions(provider=google_beta))
649
+ default_service = gcp.cloudrunv2.Service("defaultService",
650
+ project="my-project-name",
651
+ location="us-central1",
652
+ ingress="INGRESS_TRAFFIC_ALL",
653
+ template=gcp.cloudrunv2.ServiceTemplateArgs(
654
+ containers=[gcp.cloudrunv2.ServiceTemplateContainerArgs(
655
+ image="us-docker.pkg.dev/cloudrun/container/hello",
656
+ )],
657
+ ),
658
+ opts=pulumi.ResourceOptions(provider=google_beta))
659
+ default_hosting_version = gcp.firebase.HostingVersion("defaultHostingVersion",
660
+ site_id=default_hosting_site.site_id,
661
+ config=gcp.firebase.HostingVersionConfigArgs(
662
+ rewrites=[gcp.firebase.HostingVersionConfigRewriteArgs(
663
+ glob="/hello/**",
664
+ run=gcp.firebase.HostingVersionConfigRewriteRunArgs(
665
+ service_id=default_service.name,
666
+ region=default_service.location,
667
+ ),
668
+ )],
669
+ ),
670
+ opts=pulumi.ResourceOptions(provider=google_beta))
671
+ default_hosting_release = gcp.firebase.HostingRelease("defaultHostingRelease",
672
+ site_id=default_hosting_site.site_id,
673
+ version_name=default_hosting_version.name,
674
+ message="Cloud Run Integration",
675
+ opts=pulumi.ResourceOptions(provider=google_beta))
676
+ default_hosting_custom_domain = gcp.firebase.HostingCustomDomain("defaultHostingCustomDomain",
677
+ project="my-project-name",
678
+ site_id=default_hosting_site.site_id,
679
+ custom_domain="run.custom.domain.com",
680
+ wait_dns_verification=False,
681
+ opts=pulumi.ResourceOptions(provider=google_beta))
682
+ ```
683
+
684
+ ## Import
685
+
686
+ CustomDomain can be imported using any of these accepted formats* `projects/{{project}}/sites/{{site_id}}/customDomains/{{custom_domain}}` * `sites/{{site_id}}/customDomains/{{custom_domain}}` * `{{project}}/{{site_id}}/{{custom_domain}}` * `{{site_id}}/{{custom_domain}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import CustomDomain using one of the formats above. For exampletf import {
687
+
688
+ id = "projects/{{project}}/sites/{{site_id}}/customDomains/{{custom_domain}}"
689
+
690
+ to = google_firebase_hosting_custom_domain.default }
691
+
692
+ ```sh
693
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), CustomDomain can be imported using one of the formats above. For example
694
+ ```
695
+
696
+ ```sh
697
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default projects/{{project}}/sites/{{site_id}}/customDomains/{{custom_domain}}
698
+ ```
699
+
700
+ ```sh
701
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default sites/{{site_id}}/customDomains/{{custom_domain}}
702
+ ```
703
+
704
+ ```sh
705
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default {{project}}/{{site_id}}/{{custom_domain}}
706
+ ```
707
+
708
+ ```sh
709
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default {{site_id}}/{{custom_domain}}
710
+ ```
711
+
712
+ :param str resource_name: The name of the resource.
713
+ :param pulumi.ResourceOptions opts: Options for the resource.
714
+ :param pulumi.Input[str] cert_preference: A field that lets you specify which SSL certificate type Hosting creates
715
+ for your domain name. Spark plan `CustomDomain`s only have access to the
716
+ `GROUPED` cert type, while Blaze plan can select any option.
717
+ Possible values are: `GROUPED`, `PROJECT_GROUPED`, `DEDICATED`.
718
+ :param pulumi.Input[str] custom_domain: The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.
719
+
720
+
721
+ - - -
722
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
723
+ If it is not provided, the provider project is used.
724
+ :param pulumi.Input[str] redirect_target: A domain name that this CustomDomain should direct traffic towards. If
725
+ specified, Hosting will respond to requests against this CustomDomain
726
+ with an HTTP 301 code, and route traffic to the specified `redirect_target`
727
+ instead.
728
+ :param pulumi.Input[str] site_id: The ID of the site in which to create this custom domain association.
729
+ :param pulumi.Input[bool] wait_dns_verification: If true, Terraform will wait for DNS records to be fully resolved on the 'CustomDomain'. If false, Terraform will not
730
+ wait for DNS records on the 'CustomDomain'. Any issues in the 'CustomDomain' will be returned and stored in the
731
+ Terraform state.
732
+ """
733
+ ...
734
+ @overload
735
+ def __init__(__self__,
736
+ resource_name: str,
737
+ args: HostingCustomDomainArgs,
738
+ opts: Optional[pulumi.ResourceOptions] = None):
739
+ """
740
+ ## Example Usage
741
+ ### Firebasehosting Customdomain Basic
742
+
743
+ ```python
744
+ import pulumi
745
+ import pulumi_gcp as gcp
746
+
747
+ default = gcp.firebase.HostingCustomDomain("default",
748
+ project="my-project-name",
749
+ site_id="site-id",
750
+ custom_domain="custom.domain.com",
751
+ opts=pulumi.ResourceOptions(provider=google_beta))
752
+ ```
753
+ ### Firebasehosting Customdomain Full
754
+
755
+ ```python
756
+ import pulumi
757
+ import pulumi_gcp as gcp
758
+
759
+ default_hosting_site = gcp.firebase.HostingSite("defaultHostingSite",
760
+ project="my-project-name",
761
+ site_id="site-id-full",
762
+ opts=pulumi.ResourceOptions(provider=google_beta))
763
+ default_hosting_custom_domain = gcp.firebase.HostingCustomDomain("defaultHostingCustomDomain",
764
+ project="my-project-name",
765
+ site_id=default_hosting_site.site_id,
766
+ custom_domain="source.domain.com",
767
+ cert_preference="GROUPED",
768
+ redirect_target="destination.domain.com",
769
+ wait_dns_verification=False,
770
+ opts=pulumi.ResourceOptions(provider=google_beta))
771
+ ```
772
+ ### Firebasehosting Customdomain Cloud Run
773
+
774
+ ```python
775
+ import pulumi
776
+ import pulumi_gcp as gcp
777
+
778
+ default_hosting_site = gcp.firebase.HostingSite("defaultHostingSite",
779
+ project="my-project-name",
780
+ site_id="site-id",
781
+ opts=pulumi.ResourceOptions(provider=google_beta))
782
+ default_service = gcp.cloudrunv2.Service("defaultService",
783
+ project="my-project-name",
784
+ location="us-central1",
785
+ ingress="INGRESS_TRAFFIC_ALL",
786
+ template=gcp.cloudrunv2.ServiceTemplateArgs(
787
+ containers=[gcp.cloudrunv2.ServiceTemplateContainerArgs(
788
+ image="us-docker.pkg.dev/cloudrun/container/hello",
789
+ )],
790
+ ),
791
+ opts=pulumi.ResourceOptions(provider=google_beta))
792
+ default_hosting_version = gcp.firebase.HostingVersion("defaultHostingVersion",
793
+ site_id=default_hosting_site.site_id,
794
+ config=gcp.firebase.HostingVersionConfigArgs(
795
+ rewrites=[gcp.firebase.HostingVersionConfigRewriteArgs(
796
+ glob="/hello/**",
797
+ run=gcp.firebase.HostingVersionConfigRewriteRunArgs(
798
+ service_id=default_service.name,
799
+ region=default_service.location,
800
+ ),
801
+ )],
802
+ ),
803
+ opts=pulumi.ResourceOptions(provider=google_beta))
804
+ default_hosting_release = gcp.firebase.HostingRelease("defaultHostingRelease",
805
+ site_id=default_hosting_site.site_id,
806
+ version_name=default_hosting_version.name,
807
+ message="Cloud Run Integration",
808
+ opts=pulumi.ResourceOptions(provider=google_beta))
809
+ default_hosting_custom_domain = gcp.firebase.HostingCustomDomain("defaultHostingCustomDomain",
810
+ project="my-project-name",
811
+ site_id=default_hosting_site.site_id,
812
+ custom_domain="run.custom.domain.com",
813
+ wait_dns_verification=False,
814
+ opts=pulumi.ResourceOptions(provider=google_beta))
815
+ ```
816
+
817
+ ## Import
818
+
819
+ CustomDomain can be imported using any of these accepted formats* `projects/{{project}}/sites/{{site_id}}/customDomains/{{custom_domain}}` * `sites/{{site_id}}/customDomains/{{custom_domain}}` * `{{project}}/{{site_id}}/{{custom_domain}}` * `{{site_id}}/{{custom_domain}}` In Terraform v1.5.0 and later, use an [`import` block](https://developer.hashicorp.com/terraform/language/import) to import CustomDomain using one of the formats above. For exampletf import {
820
+
821
+ id = "projects/{{project}}/sites/{{site_id}}/customDomains/{{custom_domain}}"
822
+
823
+ to = google_firebase_hosting_custom_domain.default }
824
+
825
+ ```sh
826
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain When using the [`terraform import` command](https://developer.hashicorp.com/terraform/cli/commands/import), CustomDomain can be imported using one of the formats above. For example
827
+ ```
828
+
829
+ ```sh
830
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default projects/{{project}}/sites/{{site_id}}/customDomains/{{custom_domain}}
831
+ ```
832
+
833
+ ```sh
834
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default sites/{{site_id}}/customDomains/{{custom_domain}}
835
+ ```
836
+
837
+ ```sh
838
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default {{project}}/{{site_id}}/{{custom_domain}}
839
+ ```
840
+
841
+ ```sh
842
+ $ pulumi import gcp:firebase/hostingCustomDomain:HostingCustomDomain default {{site_id}}/{{custom_domain}}
843
+ ```
844
+
845
+ :param str resource_name: The name of the resource.
846
+ :param HostingCustomDomainArgs args: The arguments to use to populate this resource's properties.
847
+ :param pulumi.ResourceOptions opts: Options for the resource.
848
+ """
849
+ ...
850
+ def __init__(__self__, resource_name: str, *args, **kwargs):
851
+ resource_args, opts = _utilities.get_resource_args_opts(HostingCustomDomainArgs, pulumi.ResourceOptions, *args, **kwargs)
852
+ if resource_args is not None:
853
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
854
+ else:
855
+ __self__._internal_init(resource_name, *args, **kwargs)
856
+
857
+ def _internal_init(__self__,
858
+ resource_name: str,
859
+ opts: Optional[pulumi.ResourceOptions] = None,
860
+ cert_preference: Optional[pulumi.Input[str]] = None,
861
+ custom_domain: Optional[pulumi.Input[str]] = None,
862
+ project: Optional[pulumi.Input[str]] = None,
863
+ redirect_target: Optional[pulumi.Input[str]] = None,
864
+ site_id: Optional[pulumi.Input[str]] = None,
865
+ wait_dns_verification: Optional[pulumi.Input[bool]] = None,
866
+ __props__=None):
867
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
868
+ if not isinstance(opts, pulumi.ResourceOptions):
869
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
870
+ if opts.id is None:
871
+ if __props__ is not None:
872
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
873
+ __props__ = HostingCustomDomainArgs.__new__(HostingCustomDomainArgs)
874
+
875
+ __props__.__dict__["cert_preference"] = cert_preference
876
+ if custom_domain is None and not opts.urn:
877
+ raise TypeError("Missing required property 'custom_domain'")
878
+ __props__.__dict__["custom_domain"] = custom_domain
879
+ __props__.__dict__["project"] = project
880
+ __props__.__dict__["redirect_target"] = redirect_target
881
+ if site_id is None and not opts.urn:
882
+ raise TypeError("Missing required property 'site_id'")
883
+ __props__.__dict__["site_id"] = site_id
884
+ __props__.__dict__["wait_dns_verification"] = wait_dns_verification
885
+ __props__.__dict__["certs"] = None
886
+ __props__.__dict__["create_time"] = None
887
+ __props__.__dict__["delete_time"] = None
888
+ __props__.__dict__["etag"] = None
889
+ __props__.__dict__["expire_time"] = None
890
+ __props__.__dict__["host_state"] = None
891
+ __props__.__dict__["issues"] = None
892
+ __props__.__dict__["name"] = None
893
+ __props__.__dict__["ownership_state"] = None
894
+ __props__.__dict__["reconciling"] = None
895
+ __props__.__dict__["required_dns_updates"] = None
896
+ __props__.__dict__["update_time"] = None
897
+ super(HostingCustomDomain, __self__).__init__(
898
+ 'gcp:firebase/hostingCustomDomain:HostingCustomDomain',
899
+ resource_name,
900
+ __props__,
901
+ opts)
902
+
903
+ @staticmethod
904
+ def get(resource_name: str,
905
+ id: pulumi.Input[str],
906
+ opts: Optional[pulumi.ResourceOptions] = None,
907
+ cert_preference: Optional[pulumi.Input[str]] = None,
908
+ certs: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HostingCustomDomainCertArgs']]]]] = None,
909
+ create_time: Optional[pulumi.Input[str]] = None,
910
+ custom_domain: Optional[pulumi.Input[str]] = None,
911
+ delete_time: Optional[pulumi.Input[str]] = None,
912
+ etag: Optional[pulumi.Input[str]] = None,
913
+ expire_time: Optional[pulumi.Input[str]] = None,
914
+ host_state: Optional[pulumi.Input[str]] = None,
915
+ issues: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HostingCustomDomainIssueArgs']]]]] = None,
916
+ name: Optional[pulumi.Input[str]] = None,
917
+ ownership_state: Optional[pulumi.Input[str]] = None,
918
+ project: Optional[pulumi.Input[str]] = None,
919
+ reconciling: Optional[pulumi.Input[bool]] = None,
920
+ redirect_target: Optional[pulumi.Input[str]] = None,
921
+ required_dns_updates: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HostingCustomDomainRequiredDnsUpdateArgs']]]]] = None,
922
+ site_id: Optional[pulumi.Input[str]] = None,
923
+ update_time: Optional[pulumi.Input[str]] = None,
924
+ wait_dns_verification: Optional[pulumi.Input[bool]] = None) -> 'HostingCustomDomain':
925
+ """
926
+ Get an existing HostingCustomDomain resource's state with the given name, id, and optional extra
927
+ properties used to qualify the lookup.
928
+
929
+ :param str resource_name: The unique name of the resulting resource.
930
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
931
+ :param pulumi.ResourceOptions opts: Options for the resource.
932
+ :param pulumi.Input[str] cert_preference: A field that lets you specify which SSL certificate type Hosting creates
933
+ for your domain name. Spark plan `CustomDomain`s only have access to the
934
+ `GROUPED` cert type, while Blaze plan can select any option.
935
+ Possible values are: `GROUPED`, `PROJECT_GROUPED`, `DEDICATED`.
936
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HostingCustomDomainCertArgs']]]] certs: The SSL certificate Hosting has for this `CustomDomain`'s domain name.
937
+ For new `CustomDomain`s, this often represents Hosting's intent to create
938
+ a certificate, rather than an actual cert. Check the `state` field for
939
+ more.
940
+ Structure is documented below.
941
+ :param pulumi.Input[str] create_time: The `CustomDomain`'s create time.
942
+ :param pulumi.Input[str] custom_domain: The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.
943
+
944
+
945
+ - - -
946
+ :param pulumi.Input[str] delete_time: The time the `CustomDomain` was deleted; null for `CustomDomains` that
947
+ haven't been deleted. Deleted `CustomDomains` persist for approximately 30
948
+ days, after which time Hosting removes them completely.
949
+ :param pulumi.Input[str] etag: A string that represents the current state of the `CustomDomain` and
950
+ allows you to confirm its initial state in requests that would modify it.
951
+ :param pulumi.Input[str] expire_time: The minimum time before a soft-deleted `CustomDomain` is completely removed
952
+ from Hosting; null for `CustomDomains` that haven't been deleted.
953
+ :param pulumi.Input[str] host_state: The host state of your domain name. Host state is determined by checking each
954
+ IP address associated with your domain name to see if it's serving
955
+ Hosting content.
956
+ HOST_UNHOSTED:
957
+ Your `CustomDomain`'s domain name isn't associated with any IP addresses.
958
+ HOST_UNREACHABLE:
959
+ Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS
960
+ queries to find your domain name's IP addresses resulted in errors. See
961
+ your `CustomDomain`'s `issues` field for more details.
962
+ HOST_MISMATCH:
963
+ Your `CustomDomain`'s domain name has IP addresses that don't ultimately
964
+ resolve to Hosting.
965
+ HOST_CONFLICT:
966
+ Your `CustomDomain`'s domain name has IP addresses that resolve to both
967
+ Hosting and other services. To ensure consistent results, remove `A` and
968
+ `AAAA` records related to non-Hosting services.
969
+ HOST_ACTIVE:
970
+ All requests against your `CustomDomain`'s domain name are served by
971
+ Hosting. If the `CustomDomain`'s `OwnershipState` is also `ACTIVE`, Hosting
972
+ serves your Hosting Site's content on the domain name.
973
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HostingCustomDomainIssueArgs']]]] issues: A set of errors Hosting systems encountered when trying to establish
974
+ Hosting's ability to serve secure content for your domain name. Resolve
975
+ these issues to ensure your `CustomDomain` behaves properly.
976
+ Structure is documented below.
977
+ :param pulumi.Input[str] name: The fully-qualified name of the `CustomDomain`.
978
+ :param pulumi.Input[str] ownership_state: The ownership state of your domain name. Ownership is determined at a
979
+ Firebase project level, and established by adding `TXT` records to your
980
+ domain name's DNS records.
981
+ Ownership cascades to subdomains. Granting a project ownership of `foo.com`
982
+ also grants that project ownership over `bar.foo.com`, unless you add
983
+ specific `TXT` records to `bar.foo.com` that grant a different project
984
+ ownership.
985
+ If your `CustomDomain` is in an `OwnershipState` other than
986
+ `OWNERSHIP_ACTIVE` for more than 30 days and it hasn't been updated in at
987
+ least 30 days, Hosting's ownership systems delete the `CustomDomain`.
988
+ OWNERSHIP_MISSING:
989
+ Your `CustomDomain`'s domain name has no Hosting-related ownership records;
990
+ no Firebase project has permission to act on the domain name's behalf.
991
+ OWNERSHIP_UNREACHABLE:
992
+ Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS
993
+ queries to find your domain name's ownership records resulted in errors.
994
+ See your `CustomDomain`'s `issues` field for more details.
995
+ OWNERSHIP_MISMATCH:
996
+ Your `CustomDomain`'s domain name is owned by another Firebase project.
997
+ Remove the conflicting `TXT` records and replace them with project-specific
998
+ records for your current Firebase project.
999
+ OWNERSHIP_CONFLICT:
1000
+ Your `CustomDomain`'s domain name has conflicting `TXT` records that
1001
+ indicate ownership by both your current Firebase project and another
1002
+ project. Remove the other project's ownership records to grant the current
1003
+ project ownership.
1004
+ OWNERSHIP_PENDING:
1005
+ Your `CustomDomain`'s DNS records are configured correctly. Hosting will
1006
+ transfer ownership of your domain to this `CustomDomain` within 24 hours.
1007
+ OWNERSHIP_ACTIVE:
1008
+ Your `CustomDomain`'s domain name has `TXT` records that grant its project
1009
+ permission to act on its behalf.
1010
+ :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1011
+ If it is not provided, the provider project is used.
1012
+ :param pulumi.Input[bool] reconciling: if true, indicates that Hosting's systems are attmepting to
1013
+ make the `CustomDomain`'s state match your preferred state. This is most
1014
+ frequently `true` when initially provisioning a `CustomDomain` or when creating
1015
+ a new SSL certificate to match an updated `cert_preference`
1016
+ :param pulumi.Input[str] redirect_target: A domain name that this CustomDomain should direct traffic towards. If
1017
+ specified, Hosting will respond to requests against this CustomDomain
1018
+ with an HTTP 301 code, and route traffic to the specified `redirect_target`
1019
+ instead.
1020
+ :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['HostingCustomDomainRequiredDnsUpdateArgs']]]] required_dns_updates: A set of updates you should make to the domain name's DNS records to
1021
+ let Hosting serve secure content on its behalf.
1022
+ Structure is documented below.
1023
+ :param pulumi.Input[str] site_id: The ID of the site in which to create this custom domain association.
1024
+ :param pulumi.Input[str] update_time: The last time the `CustomDomain` was updated.
1025
+ :param pulumi.Input[bool] wait_dns_verification: If true, Terraform will wait for DNS records to be fully resolved on the 'CustomDomain'. If false, Terraform will not
1026
+ wait for DNS records on the 'CustomDomain'. Any issues in the 'CustomDomain' will be returned and stored in the
1027
+ Terraform state.
1028
+ """
1029
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1030
+
1031
+ __props__ = _HostingCustomDomainState.__new__(_HostingCustomDomainState)
1032
+
1033
+ __props__.__dict__["cert_preference"] = cert_preference
1034
+ __props__.__dict__["certs"] = certs
1035
+ __props__.__dict__["create_time"] = create_time
1036
+ __props__.__dict__["custom_domain"] = custom_domain
1037
+ __props__.__dict__["delete_time"] = delete_time
1038
+ __props__.__dict__["etag"] = etag
1039
+ __props__.__dict__["expire_time"] = expire_time
1040
+ __props__.__dict__["host_state"] = host_state
1041
+ __props__.__dict__["issues"] = issues
1042
+ __props__.__dict__["name"] = name
1043
+ __props__.__dict__["ownership_state"] = ownership_state
1044
+ __props__.__dict__["project"] = project
1045
+ __props__.__dict__["reconciling"] = reconciling
1046
+ __props__.__dict__["redirect_target"] = redirect_target
1047
+ __props__.__dict__["required_dns_updates"] = required_dns_updates
1048
+ __props__.__dict__["site_id"] = site_id
1049
+ __props__.__dict__["update_time"] = update_time
1050
+ __props__.__dict__["wait_dns_verification"] = wait_dns_verification
1051
+ return HostingCustomDomain(resource_name, opts=opts, __props__=__props__)
1052
+
1053
+ @property
1054
+ @pulumi.getter(name="certPreference")
1055
+ def cert_preference(self) -> pulumi.Output[str]:
1056
+ """
1057
+ A field that lets you specify which SSL certificate type Hosting creates
1058
+ for your domain name. Spark plan `CustomDomain`s only have access to the
1059
+ `GROUPED` cert type, while Blaze plan can select any option.
1060
+ Possible values are: `GROUPED`, `PROJECT_GROUPED`, `DEDICATED`.
1061
+ """
1062
+ return pulumi.get(self, "cert_preference")
1063
+
1064
+ @property
1065
+ @pulumi.getter
1066
+ def certs(self) -> pulumi.Output[Sequence['outputs.HostingCustomDomainCert']]:
1067
+ """
1068
+ The SSL certificate Hosting has for this `CustomDomain`'s domain name.
1069
+ For new `CustomDomain`s, this often represents Hosting's intent to create
1070
+ a certificate, rather than an actual cert. Check the `state` field for
1071
+ more.
1072
+ Structure is documented below.
1073
+ """
1074
+ return pulumi.get(self, "certs")
1075
+
1076
+ @property
1077
+ @pulumi.getter(name="createTime")
1078
+ def create_time(self) -> pulumi.Output[str]:
1079
+ """
1080
+ The `CustomDomain`'s create time.
1081
+ """
1082
+ return pulumi.get(self, "create_time")
1083
+
1084
+ @property
1085
+ @pulumi.getter(name="customDomain")
1086
+ def custom_domain(self) -> pulumi.Output[str]:
1087
+ """
1088
+ The ID of the `CustomDomain`, which is the domain name you'd like to use with Firebase Hosting.
1089
+
1090
+
1091
+ - - -
1092
+ """
1093
+ return pulumi.get(self, "custom_domain")
1094
+
1095
+ @property
1096
+ @pulumi.getter(name="deleteTime")
1097
+ def delete_time(self) -> pulumi.Output[str]:
1098
+ """
1099
+ The time the `CustomDomain` was deleted; null for `CustomDomains` that
1100
+ haven't been deleted. Deleted `CustomDomains` persist for approximately 30
1101
+ days, after which time Hosting removes them completely.
1102
+ """
1103
+ return pulumi.get(self, "delete_time")
1104
+
1105
+ @property
1106
+ @pulumi.getter
1107
+ def etag(self) -> pulumi.Output[str]:
1108
+ """
1109
+ A string that represents the current state of the `CustomDomain` and
1110
+ allows you to confirm its initial state in requests that would modify it.
1111
+ """
1112
+ return pulumi.get(self, "etag")
1113
+
1114
+ @property
1115
+ @pulumi.getter(name="expireTime")
1116
+ def expire_time(self) -> pulumi.Output[str]:
1117
+ """
1118
+ The minimum time before a soft-deleted `CustomDomain` is completely removed
1119
+ from Hosting; null for `CustomDomains` that haven't been deleted.
1120
+ """
1121
+ return pulumi.get(self, "expire_time")
1122
+
1123
+ @property
1124
+ @pulumi.getter(name="hostState")
1125
+ def host_state(self) -> pulumi.Output[str]:
1126
+ """
1127
+ The host state of your domain name. Host state is determined by checking each
1128
+ IP address associated with your domain name to see if it's serving
1129
+ Hosting content.
1130
+ HOST_UNHOSTED:
1131
+ Your `CustomDomain`'s domain name isn't associated with any IP addresses.
1132
+ HOST_UNREACHABLE:
1133
+ Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS
1134
+ queries to find your domain name's IP addresses resulted in errors. See
1135
+ your `CustomDomain`'s `issues` field for more details.
1136
+ HOST_MISMATCH:
1137
+ Your `CustomDomain`'s domain name has IP addresses that don't ultimately
1138
+ resolve to Hosting.
1139
+ HOST_CONFLICT:
1140
+ Your `CustomDomain`'s domain name has IP addresses that resolve to both
1141
+ Hosting and other services. To ensure consistent results, remove `A` and
1142
+ `AAAA` records related to non-Hosting services.
1143
+ HOST_ACTIVE:
1144
+ All requests against your `CustomDomain`'s domain name are served by
1145
+ Hosting. If the `CustomDomain`'s `OwnershipState` is also `ACTIVE`, Hosting
1146
+ serves your Hosting Site's content on the domain name.
1147
+ """
1148
+ return pulumi.get(self, "host_state")
1149
+
1150
+ @property
1151
+ @pulumi.getter
1152
+ def issues(self) -> pulumi.Output[Sequence['outputs.HostingCustomDomainIssue']]:
1153
+ """
1154
+ A set of errors Hosting systems encountered when trying to establish
1155
+ Hosting's ability to serve secure content for your domain name. Resolve
1156
+ these issues to ensure your `CustomDomain` behaves properly.
1157
+ Structure is documented below.
1158
+ """
1159
+ return pulumi.get(self, "issues")
1160
+
1161
+ @property
1162
+ @pulumi.getter
1163
+ def name(self) -> pulumi.Output[str]:
1164
+ """
1165
+ The fully-qualified name of the `CustomDomain`.
1166
+ """
1167
+ return pulumi.get(self, "name")
1168
+
1169
+ @property
1170
+ @pulumi.getter(name="ownershipState")
1171
+ def ownership_state(self) -> pulumi.Output[str]:
1172
+ """
1173
+ The ownership state of your domain name. Ownership is determined at a
1174
+ Firebase project level, and established by adding `TXT` records to your
1175
+ domain name's DNS records.
1176
+ Ownership cascades to subdomains. Granting a project ownership of `foo.com`
1177
+ also grants that project ownership over `bar.foo.com`, unless you add
1178
+ specific `TXT` records to `bar.foo.com` that grant a different project
1179
+ ownership.
1180
+ If your `CustomDomain` is in an `OwnershipState` other than
1181
+ `OWNERSHIP_ACTIVE` for more than 30 days and it hasn't been updated in at
1182
+ least 30 days, Hosting's ownership systems delete the `CustomDomain`.
1183
+ OWNERSHIP_MISSING:
1184
+ Your `CustomDomain`'s domain name has no Hosting-related ownership records;
1185
+ no Firebase project has permission to act on the domain name's behalf.
1186
+ OWNERSHIP_UNREACHABLE:
1187
+ Your `CustomDomain`'s domain name can't be reached. Hosting services' DNS
1188
+ queries to find your domain name's ownership records resulted in errors.
1189
+ See your `CustomDomain`'s `issues` field for more details.
1190
+ OWNERSHIP_MISMATCH:
1191
+ Your `CustomDomain`'s domain name is owned by another Firebase project.
1192
+ Remove the conflicting `TXT` records and replace them with project-specific
1193
+ records for your current Firebase project.
1194
+ OWNERSHIP_CONFLICT:
1195
+ Your `CustomDomain`'s domain name has conflicting `TXT` records that
1196
+ indicate ownership by both your current Firebase project and another
1197
+ project. Remove the other project's ownership records to grant the current
1198
+ project ownership.
1199
+ OWNERSHIP_PENDING:
1200
+ Your `CustomDomain`'s DNS records are configured correctly. Hosting will
1201
+ transfer ownership of your domain to this `CustomDomain` within 24 hours.
1202
+ OWNERSHIP_ACTIVE:
1203
+ Your `CustomDomain`'s domain name has `TXT` records that grant its project
1204
+ permission to act on its behalf.
1205
+ """
1206
+ return pulumi.get(self, "ownership_state")
1207
+
1208
+ @property
1209
+ @pulumi.getter
1210
+ def project(self) -> pulumi.Output[str]:
1211
+ """
1212
+ The ID of the project in which the resource belongs.
1213
+ If it is not provided, the provider project is used.
1214
+ """
1215
+ return pulumi.get(self, "project")
1216
+
1217
+ @property
1218
+ @pulumi.getter
1219
+ def reconciling(self) -> pulumi.Output[bool]:
1220
+ """
1221
+ if true, indicates that Hosting's systems are attmepting to
1222
+ make the `CustomDomain`'s state match your preferred state. This is most
1223
+ frequently `true` when initially provisioning a `CustomDomain` or when creating
1224
+ a new SSL certificate to match an updated `cert_preference`
1225
+ """
1226
+ return pulumi.get(self, "reconciling")
1227
+
1228
+ @property
1229
+ @pulumi.getter(name="redirectTarget")
1230
+ def redirect_target(self) -> pulumi.Output[Optional[str]]:
1231
+ """
1232
+ A domain name that this CustomDomain should direct traffic towards. If
1233
+ specified, Hosting will respond to requests against this CustomDomain
1234
+ with an HTTP 301 code, and route traffic to the specified `redirect_target`
1235
+ instead.
1236
+ """
1237
+ return pulumi.get(self, "redirect_target")
1238
+
1239
+ @property
1240
+ @pulumi.getter(name="requiredDnsUpdates")
1241
+ def required_dns_updates(self) -> pulumi.Output[Sequence['outputs.HostingCustomDomainRequiredDnsUpdate']]:
1242
+ """
1243
+ A set of updates you should make to the domain name's DNS records to
1244
+ let Hosting serve secure content on its behalf.
1245
+ Structure is documented below.
1246
+ """
1247
+ return pulumi.get(self, "required_dns_updates")
1248
+
1249
+ @property
1250
+ @pulumi.getter(name="siteId")
1251
+ def site_id(self) -> pulumi.Output[str]:
1252
+ """
1253
+ The ID of the site in which to create this custom domain association.
1254
+ """
1255
+ return pulumi.get(self, "site_id")
1256
+
1257
+ @property
1258
+ @pulumi.getter(name="updateTime")
1259
+ def update_time(self) -> pulumi.Output[str]:
1260
+ """
1261
+ The last time the `CustomDomain` was updated.
1262
+ """
1263
+ return pulumi.get(self, "update_time")
1264
+
1265
+ @property
1266
+ @pulumi.getter(name="waitDnsVerification")
1267
+ def wait_dns_verification(self) -> pulumi.Output[Optional[bool]]:
1268
+ """
1269
+ If true, Terraform will wait for DNS records to be fully resolved on the 'CustomDomain'. If false, Terraform will not
1270
+ wait for DNS records on the 'CustomDomain'. Any issues in the 'CustomDomain' will be returned and stored in the
1271
+ Terraform state.
1272
+ """
1273
+ return pulumi.get(self, "wait_dns_verification")
1274
+