pulumi-gcp 7.29.0a1719416802__py3-none-any.whl → 7.30.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1485) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/_inputs.py +15 -0
  3. pulumi_gcp/accessapproval/get_folder_service_account.py +5 -0
  4. pulumi_gcp/accessapproval/get_organization_service_account.py +5 -0
  5. pulumi_gcp/accessapproval/get_project_service_account.py +5 -0
  6. pulumi_gcp/accesscontextmanager/_inputs.py +2066 -6
  7. pulumi_gcp/accesscontextmanager/access_level.py +37 -32
  8. pulumi_gcp/accesscontextmanager/access_level_condition.py +53 -48
  9. pulumi_gcp/accesscontextmanager/access_levels.py +70 -65
  10. pulumi_gcp/accesscontextmanager/access_policy.py +5 -0
  11. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +24 -19
  12. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +24 -19
  13. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +21 -16
  14. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +5 -0
  15. pulumi_gcp/accesscontextmanager/egress_policy.py +5 -0
  16. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +33 -28
  17. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +5 -0
  18. pulumi_gcp/accesscontextmanager/ingress_policy.py +5 -0
  19. pulumi_gcp/accesscontextmanager/outputs.py +5 -0
  20. pulumi_gcp/accesscontextmanager/service_perimeter.py +201 -196
  21. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +11 -6
  22. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +15 -10
  23. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +15 -10
  24. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +11 -6
  25. pulumi_gcp/accesscontextmanager/service_perimeters.py +60 -55
  26. pulumi_gcp/activedirectory/domain.py +5 -0
  27. pulumi_gcp/activedirectory/domain_trust.py +5 -0
  28. pulumi_gcp/activedirectory/peering.py +5 -0
  29. pulumi_gcp/alloydb/_inputs.py +535 -0
  30. pulumi_gcp/alloydb/backup.py +26 -21
  31. pulumi_gcp/alloydb/cluster.py +177 -172
  32. pulumi_gcp/alloydb/get_locations.py +5 -0
  33. pulumi_gcp/alloydb/get_supported_database_flags.py +5 -0
  34. pulumi_gcp/alloydb/instance.py +77 -72
  35. pulumi_gcp/alloydb/outputs.py +5 -0
  36. pulumi_gcp/alloydb/user.py +17 -12
  37. pulumi_gcp/apigateway/_inputs.py +168 -0
  38. pulumi_gcp/apigateway/api.py +5 -0
  39. pulumi_gcp/apigateway/api_config.py +25 -20
  40. pulumi_gcp/apigateway/api_config_iam_binding.py +24 -19
  41. pulumi_gcp/apigateway/api_config_iam_member.py +24 -19
  42. pulumi_gcp/apigateway/api_config_iam_policy.py +21 -16
  43. pulumi_gcp/apigateway/api_iam_binding.py +24 -19
  44. pulumi_gcp/apigateway/api_iam_member.py +24 -19
  45. pulumi_gcp/apigateway/api_iam_policy.py +21 -16
  46. pulumi_gcp/apigateway/gateway.py +5 -0
  47. pulumi_gcp/apigateway/gateway_iam_binding.py +24 -19
  48. pulumi_gcp/apigateway/gateway_iam_member.py +24 -19
  49. pulumi_gcp/apigateway/gateway_iam_policy.py +21 -16
  50. pulumi_gcp/apigateway/get_api_config_iam_policy.py +5 -0
  51. pulumi_gcp/apigateway/get_api_iam_policy.py +5 -0
  52. pulumi_gcp/apigateway/get_gateway_iam_policy.py +5 -0
  53. pulumi_gcp/apigateway/outputs.py +5 -0
  54. pulumi_gcp/apigee/_inputs.py +508 -0
  55. pulumi_gcp/apigee/addons_config.py +60 -55
  56. pulumi_gcp/apigee/endpoint_attachment.py +5 -0
  57. pulumi_gcp/apigee/env_group.py +5 -0
  58. pulumi_gcp/apigee/env_group_attachment.py +5 -0
  59. pulumi_gcp/apigee/env_keystore.py +5 -0
  60. pulumi_gcp/apigee/env_references.py +5 -0
  61. pulumi_gcp/apigee/environment.py +10 -5
  62. pulumi_gcp/apigee/environment_iam_binding.py +24 -19
  63. pulumi_gcp/apigee/environment_iam_member.py +24 -19
  64. pulumi_gcp/apigee/environment_iam_policy.py +21 -16
  65. pulumi_gcp/apigee/flowhook.py +5 -0
  66. pulumi_gcp/apigee/get_environment_iam_policy.py +5 -0
  67. pulumi_gcp/apigee/instance.py +5 -0
  68. pulumi_gcp/apigee/instance_attachment.py +5 -0
  69. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +10 -5
  70. pulumi_gcp/apigee/keystores_aliases_pkcs12.py +7 -2
  71. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +31 -26
  72. pulumi_gcp/apigee/nat_address.py +5 -0
  73. pulumi_gcp/apigee/organization.py +10 -5
  74. pulumi_gcp/apigee/outputs.py +5 -0
  75. pulumi_gcp/apigee/sharedflow.py +7 -2
  76. pulumi_gcp/apigee/sharedflow_deployment.py +5 -0
  77. pulumi_gcp/apigee/sync_authorization.py +5 -0
  78. pulumi_gcp/apigee/target_server.py +10 -5
  79. pulumi_gcp/appengine/_inputs.py +990 -7
  80. pulumi_gcp/appengine/application.py +17 -12
  81. pulumi_gcp/appengine/application_url_dispatch_rules.py +46 -41
  82. pulumi_gcp/appengine/domain_mapping.py +18 -13
  83. pulumi_gcp/appengine/engine_split_traffic.py +50 -45
  84. pulumi_gcp/appengine/firewall_rule.py +5 -0
  85. pulumi_gcp/appengine/flexible_app_version.py +130 -125
  86. pulumi_gcp/appengine/get_default_service_account.py +5 -0
  87. pulumi_gcp/appengine/outputs.py +5 -0
  88. pulumi_gcp/appengine/service_network_settings.py +32 -27
  89. pulumi_gcp/appengine/standard_app_version.py +109 -104
  90. pulumi_gcp/apphub/_inputs.py +370 -0
  91. pulumi_gcp/apphub/application.py +67 -62
  92. pulumi_gcp/apphub/get_application.py +5 -0
  93. pulumi_gcp/apphub/get_discovered_service.py +5 -0
  94. pulumi_gcp/apphub/get_discovered_workload.py +5 -0
  95. pulumi_gcp/apphub/outputs.py +5 -0
  96. pulumi_gcp/apphub/service.py +78 -73
  97. pulumi_gcp/apphub/service_project_attachment.py +5 -0
  98. pulumi_gcp/apphub/workload.py +14 -9
  99. pulumi_gcp/applicationintegration/_inputs.py +324 -0
  100. pulumi_gcp/applicationintegration/auth_config.py +29 -24
  101. pulumi_gcp/applicationintegration/client.py +24 -19
  102. pulumi_gcp/applicationintegration/outputs.py +5 -0
  103. pulumi_gcp/artifactregistry/_inputs.py +392 -0
  104. pulumi_gcp/artifactregistry/get_docker_image.py +7 -2
  105. pulumi_gcp/artifactregistry/get_repository.py +5 -0
  106. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +5 -0
  107. pulumi_gcp/artifactregistry/outputs.py +5 -0
  108. pulumi_gcp/artifactregistry/repository.py +338 -333
  109. pulumi_gcp/artifactregistry/repository_iam_binding.py +24 -19
  110. pulumi_gcp/artifactregistry/repository_iam_member.py +24 -19
  111. pulumi_gcp/artifactregistry/repository_iam_policy.py +21 -16
  112. pulumi_gcp/artifactregistry/vpcsc_config.py +5 -0
  113. pulumi_gcp/assuredworkloads/_inputs.py +117 -0
  114. pulumi_gcp/assuredworkloads/outputs.py +5 -0
  115. pulumi_gcp/assuredworkloads/workload.py +86 -81
  116. pulumi_gcp/backupdisasterrecovery/_inputs.py +41 -0
  117. pulumi_gcp/backupdisasterrecovery/get_management_server.py +5 -0
  118. pulumi_gcp/backupdisasterrecovery/management_server.py +20 -15
  119. pulumi_gcp/backupdisasterrecovery/outputs.py +5 -0
  120. pulumi_gcp/beyondcorp/_inputs.py +86 -0
  121. pulumi_gcp/beyondcorp/app_connection.py +57 -52
  122. pulumi_gcp/beyondcorp/app_connector.py +30 -25
  123. pulumi_gcp/beyondcorp/app_gateway.py +7 -2
  124. pulumi_gcp/beyondcorp/get_app_connection.py +5 -0
  125. pulumi_gcp/beyondcorp/get_app_connector.py +5 -0
  126. pulumi_gcp/beyondcorp/get_app_gateway.py +5 -0
  127. pulumi_gcp/beyondcorp/outputs.py +5 -0
  128. pulumi_gcp/biglake/_inputs.py +64 -0
  129. pulumi_gcp/biglake/catalog.py +5 -0
  130. pulumi_gcp/biglake/database.py +18 -13
  131. pulumi_gcp/biglake/outputs.py +5 -0
  132. pulumi_gcp/biglake/table.py +36 -31
  133. pulumi_gcp/bigquery/_inputs.py +1930 -6
  134. pulumi_gcp/bigquery/app_profile.py +133 -128
  135. pulumi_gcp/bigquery/bi_reservation.py +10 -5
  136. pulumi_gcp/bigquery/capacity_commitment.py +5 -0
  137. pulumi_gcp/bigquery/connection.py +181 -176
  138. pulumi_gcp/bigquery/connection_iam_binding.py +24 -19
  139. pulumi_gcp/bigquery/connection_iam_member.py +24 -19
  140. pulumi_gcp/bigquery/connection_iam_policy.py +21 -16
  141. pulumi_gcp/bigquery/data_transfer_config.py +20 -15
  142. pulumi_gcp/bigquery/dataset.py +132 -127
  143. pulumi_gcp/bigquery/dataset_access.py +72 -67
  144. pulumi_gcp/bigquery/dataset_iam_binding.py +24 -19
  145. pulumi_gcp/bigquery/dataset_iam_member.py +24 -19
  146. pulumi_gcp/bigquery/dataset_iam_policy.py +21 -16
  147. pulumi_gcp/bigquery/get_connection_iam_policy.py +5 -0
  148. pulumi_gcp/bigquery/get_dataset.py +5 -0
  149. pulumi_gcp/bigquery/get_dataset_iam_policy.py +5 -0
  150. pulumi_gcp/bigquery/get_default_service_account.py +5 -0
  151. pulumi_gcp/bigquery/get_table_iam_policy.py +5 -0
  152. pulumi_gcp/bigquery/iam_binding.py +102 -97
  153. pulumi_gcp/bigquery/iam_member.py +102 -97
  154. pulumi_gcp/bigquery/iam_policy.py +97 -92
  155. pulumi_gcp/bigquery/job.py +229 -224
  156. pulumi_gcp/bigquery/outputs.py +5 -0
  157. pulumi_gcp/bigquery/reservation.py +16 -11
  158. pulumi_gcp/bigquery/reservation_assignment.py +5 -0
  159. pulumi_gcp/bigquery/routine.py +114 -109
  160. pulumi_gcp/bigquery/table.py +67 -62
  161. pulumi_gcp/bigqueryanalyticshub/_inputs.py +97 -0
  162. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +5 -0
  163. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +24 -19
  164. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +24 -19
  165. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +21 -16
  166. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +5 -0
  167. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +5 -0
  168. pulumi_gcp/bigqueryanalyticshub/listing.py +45 -40
  169. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +24 -19
  170. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +24 -19
  171. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +21 -16
  172. pulumi_gcp/bigqueryanalyticshub/outputs.py +5 -0
  173. pulumi_gcp/bigquerydatapolicy/_inputs.py +40 -0
  174. pulumi_gcp/bigquerydatapolicy/data_policy.py +24 -19
  175. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +24 -19
  176. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +24 -19
  177. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +21 -16
  178. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +5 -0
  179. pulumi_gcp/bigquerydatapolicy/outputs.py +5 -0
  180. pulumi_gcp/bigtable/_inputs.py +202 -0
  181. pulumi_gcp/bigtable/authorized_view.py +10 -5
  182. pulumi_gcp/bigtable/gc_policy.py +113 -54
  183. pulumi_gcp/bigtable/get_instance_iam_policy.py +5 -0
  184. pulumi_gcp/bigtable/get_table_iam_policy.py +5 -0
  185. pulumi_gcp/bigtable/instance.py +52 -47
  186. pulumi_gcp/bigtable/instance_iam_binding.py +24 -19
  187. pulumi_gcp/bigtable/instance_iam_member.py +24 -19
  188. pulumi_gcp/bigtable/instance_iam_policy.py +21 -16
  189. pulumi_gcp/bigtable/outputs.py +5 -0
  190. pulumi_gcp/bigtable/table.py +39 -34
  191. pulumi_gcp/bigtable/table_iam_binding.py +24 -19
  192. pulumi_gcp/bigtable/table_iam_member.py +24 -19
  193. pulumi_gcp/bigtable/table_iam_policy.py +21 -16
  194. pulumi_gcp/billing/_inputs.py +257 -0
  195. pulumi_gcp/billing/account_iam_binding.py +24 -19
  196. pulumi_gcp/billing/account_iam_member.py +24 -19
  197. pulumi_gcp/billing/account_iam_policy.py +21 -16
  198. pulumi_gcp/billing/budget.py +225 -220
  199. pulumi_gcp/billing/get_account_iam_policy.py +5 -0
  200. pulumi_gcp/billing/outputs.py +5 -0
  201. pulumi_gcp/billing/project_info.py +5 -0
  202. pulumi_gcp/billing/sub_account.py +5 -0
  203. pulumi_gcp/binaryauthorization/_inputs.py +199 -0
  204. pulumi_gcp/binaryauthorization/attestor.py +68 -63
  205. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +24 -19
  206. pulumi_gcp/binaryauthorization/attestor_iam_member.py +24 -19
  207. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +21 -16
  208. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +5 -0
  209. pulumi_gcp/binaryauthorization/outputs.py +5 -0
  210. pulumi_gcp/binaryauthorization/policy.py +88 -83
  211. pulumi_gcp/blockchainnodeengine/_inputs.py +131 -0
  212. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +62 -57
  213. pulumi_gcp/blockchainnodeengine/outputs.py +5 -0
  214. pulumi_gcp/certificateauthority/_inputs.py +2157 -36
  215. pulumi_gcp/certificateauthority/authority.py +398 -393
  216. pulumi_gcp/certificateauthority/ca_pool.py +189 -184
  217. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +102 -97
  218. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +102 -97
  219. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +97 -92
  220. pulumi_gcp/certificateauthority/certificate.py +636 -631
  221. pulumi_gcp/certificateauthority/certificate_template.py +134 -129
  222. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +102 -97
  223. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +102 -97
  224. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +97 -92
  225. pulumi_gcp/certificateauthority/get_authority.py +5 -0
  226. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +5 -0
  227. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +5 -0
  228. pulumi_gcp/certificateauthority/outputs.py +5 -0
  229. pulumi_gcp/certificatemanager/_inputs.py +256 -0
  230. pulumi_gcp/certificatemanager/certificate.py +203 -198
  231. pulumi_gcp/certificatemanager/certificate_issuance_config.py +76 -71
  232. pulumi_gcp/certificatemanager/certificate_map.py +7 -2
  233. pulumi_gcp/certificatemanager/certificate_map_entry.py +13 -8
  234. pulumi_gcp/certificatemanager/dns_authorization.py +7 -2
  235. pulumi_gcp/certificatemanager/get_certificate_map.py +5 -0
  236. pulumi_gcp/certificatemanager/outputs.py +5 -0
  237. pulumi_gcp/certificatemanager/trust_config.py +26 -21
  238. pulumi_gcp/cloudasset/_inputs.py +151 -0
  239. pulumi_gcp/cloudasset/folder_feed.py +35 -30
  240. pulumi_gcp/cloudasset/get_resources_search_all.py +5 -0
  241. pulumi_gcp/cloudasset/get_search_all_resources.py +5 -0
  242. pulumi_gcp/cloudasset/organization_feed.py +35 -30
  243. pulumi_gcp/cloudasset/outputs.py +5 -0
  244. pulumi_gcp/cloudasset/project_feed.py +35 -30
  245. pulumi_gcp/cloudbuild/_inputs.py +1038 -29
  246. pulumi_gcp/cloudbuild/bitbucket_server_config.py +61 -56
  247. pulumi_gcp/cloudbuild/get_trigger.py +5 -0
  248. pulumi_gcp/cloudbuild/outputs.py +5 -0
  249. pulumi_gcp/cloudbuild/trigger.py +733 -728
  250. pulumi_gcp/cloudbuild/worker_pool.py +43 -38
  251. pulumi_gcp/cloudbuildv2/_inputs.py +335 -0
  252. pulumi_gcp/cloudbuildv2/connection.py +106 -101
  253. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +24 -19
  254. pulumi_gcp/cloudbuildv2/connection_iam_member.py +24 -19
  255. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +21 -16
  256. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +5 -0
  257. pulumi_gcp/cloudbuildv2/outputs.py +5 -0
  258. pulumi_gcp/cloudbuildv2/repository.py +67 -62
  259. pulumi_gcp/clouddeploy/_inputs.py +700 -0
  260. pulumi_gcp/clouddeploy/automation.py +101 -96
  261. pulumi_gcp/clouddeploy/custom_target_type.py +88 -83
  262. pulumi_gcp/clouddeploy/custom_target_type_iam_binding.py +8 -3
  263. pulumi_gcp/clouddeploy/custom_target_type_iam_member.py +8 -3
  264. pulumi_gcp/clouddeploy/custom_target_type_iam_policy.py +5 -0
  265. pulumi_gcp/clouddeploy/delivery_pipeline.py +162 -157
  266. pulumi_gcp/clouddeploy/delivery_pipeline_iam_binding.py +8 -3
  267. pulumi_gcp/clouddeploy/delivery_pipeline_iam_member.py +8 -3
  268. pulumi_gcp/clouddeploy/delivery_pipeline_iam_policy.py +5 -0
  269. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +5 -0
  270. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +5 -0
  271. pulumi_gcp/clouddeploy/get_target_iam_policy.py +5 -0
  272. pulumi_gcp/clouddeploy/outputs.py +5 -0
  273. pulumi_gcp/clouddeploy/target.py +69 -64
  274. pulumi_gcp/clouddeploy/target_iam_binding.py +8 -3
  275. pulumi_gcp/clouddeploy/target_iam_member.py +8 -3
  276. pulumi_gcp/clouddeploy/target_iam_policy.py +5 -0
  277. pulumi_gcp/clouddomains/_inputs.py +372 -0
  278. pulumi_gcp/clouddomains/outputs.py +5 -0
  279. pulumi_gcp/clouddomains/registration.py +121 -116
  280. pulumi_gcp/cloudfunctions/_inputs.py +132 -0
  281. pulumi_gcp/cloudfunctions/function.py +25 -20
  282. pulumi_gcp/cloudfunctions/function_iam_binding.py +24 -19
  283. pulumi_gcp/cloudfunctions/function_iam_member.py +24 -19
  284. pulumi_gcp/cloudfunctions/function_iam_policy.py +21 -16
  285. pulumi_gcp/cloudfunctions/get_function.py +5 -0
  286. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +5 -0
  287. pulumi_gcp/cloudfunctions/outputs.py +5 -0
  288. pulumi_gcp/cloudfunctionsv2/_inputs.py +454 -0
  289. pulumi_gcp/cloudfunctionsv2/function.py +746 -509
  290. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +24 -19
  291. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +24 -19
  292. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +21 -16
  293. pulumi_gcp/cloudfunctionsv2/get_function.py +5 -0
  294. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +5 -0
  295. pulumi_gcp/cloudfunctionsv2/outputs.py +134 -1
  296. pulumi_gcp/cloudidentity/_inputs.py +161 -0
  297. pulumi_gcp/cloudidentity/get_group_lookup.py +9 -4
  298. pulumi_gcp/cloudidentity/get_group_memberships.py +5 -0
  299. pulumi_gcp/cloudidentity/get_groups.py +5 -0
  300. pulumi_gcp/cloudidentity/group.py +18 -13
  301. pulumi_gcp/cloudidentity/group_membership.py +68 -63
  302. pulumi_gcp/cloudidentity/outputs.py +5 -0
  303. pulumi_gcp/cloudids/endpoint.py +5 -0
  304. pulumi_gcp/cloudquota/_inputs.py +44 -0
  305. pulumi_gcp/cloudquota/get_s_quota_info.py +5 -0
  306. pulumi_gcp/cloudquota/get_s_quota_infos.py +5 -0
  307. pulumi_gcp/cloudquota/outputs.py +5 -0
  308. pulumi_gcp/cloudquota/s_quota_preference.py +16 -11
  309. pulumi_gcp/cloudrun/_inputs.py +1165 -15
  310. pulumi_gcp/cloudrun/domain_mapping.py +49 -44
  311. pulumi_gcp/cloudrun/get_locations.py +5 -0
  312. pulumi_gcp/cloudrun/get_service.py +5 -0
  313. pulumi_gcp/cloudrun/get_service_iam_policy.py +5 -0
  314. pulumi_gcp/cloudrun/iam_binding.py +24 -19
  315. pulumi_gcp/cloudrun/iam_member.py +24 -19
  316. pulumi_gcp/cloudrun/iam_policy.py +21 -16
  317. pulumi_gcp/cloudrun/outputs.py +5 -0
  318. pulumi_gcp/cloudrun/service.py +270 -265
  319. pulumi_gcp/cloudrunv2/_inputs.py +1338 -5
  320. pulumi_gcp/cloudrunv2/get_job.py +5 -0
  321. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +5 -0
  322. pulumi_gcp/cloudrunv2/get_service.py +5 -0
  323. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +5 -0
  324. pulumi_gcp/cloudrunv2/job.py +287 -282
  325. pulumi_gcp/cloudrunv2/job_iam_binding.py +24 -19
  326. pulumi_gcp/cloudrunv2/job_iam_member.py +24 -19
  327. pulumi_gcp/cloudrunv2/job_iam_policy.py +21 -16
  328. pulumi_gcp/cloudrunv2/outputs.py +5 -0
  329. pulumi_gcp/cloudrunv2/service.py +437 -432
  330. pulumi_gcp/cloudrunv2/service_iam_binding.py +24 -19
  331. pulumi_gcp/cloudrunv2/service_iam_member.py +24 -19
  332. pulumi_gcp/cloudrunv2/service_iam_policy.py +21 -16
  333. pulumi_gcp/cloudscheduler/_inputs.py +193 -0
  334. pulumi_gcp/cloudscheduler/job.py +127 -122
  335. pulumi_gcp/cloudscheduler/outputs.py +5 -0
  336. pulumi_gcp/cloudtasks/_inputs.py +134 -0
  337. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +5 -0
  338. pulumi_gcp/cloudtasks/outputs.py +5 -0
  339. pulumi_gcp/cloudtasks/queue.py +63 -58
  340. pulumi_gcp/cloudtasks/queue_iam_binding.py +24 -19
  341. pulumi_gcp/cloudtasks/queue_iam_member.py +24 -19
  342. pulumi_gcp/cloudtasks/queue_iam_policy.py +21 -16
  343. pulumi_gcp/composer/_inputs.py +566 -0
  344. pulumi_gcp/composer/environment.py +15 -10
  345. pulumi_gcp/composer/get_environment.py +5 -0
  346. pulumi_gcp/composer/get_image_versions.py +15 -10
  347. pulumi_gcp/composer/get_user_workloads_config_map.py +15 -10
  348. pulumi_gcp/composer/get_user_workloads_secret.py +15 -10
  349. pulumi_gcp/composer/outputs.py +5 -0
  350. pulumi_gcp/composer/user_workloads_config_map.py +15 -10
  351. pulumi_gcp/composer/user_workloads_secret.py +15 -10
  352. pulumi_gcp/compute/_inputs.py +14134 -145
  353. pulumi_gcp/compute/address.py +27 -29
  354. pulumi_gcp/compute/attached_disk.py +21 -16
  355. pulumi_gcp/compute/autoscaler.py +98 -93
  356. pulumi_gcp/compute/backend_bucket.py +30 -25
  357. pulumi_gcp/compute/backend_bucket_iam_binding.py +8 -3
  358. pulumi_gcp/compute/backend_bucket_iam_member.py +8 -3
  359. pulumi_gcp/compute/backend_bucket_iam_policy.py +5 -0
  360. pulumi_gcp/compute/backend_bucket_signed_url_key.py +5 -0
  361. pulumi_gcp/compute/backend_service.py +204 -213
  362. pulumi_gcp/compute/backend_service_iam_binding.py +10 -5
  363. pulumi_gcp/compute/backend_service_iam_member.py +10 -5
  364. pulumi_gcp/compute/backend_service_iam_policy.py +5 -0
  365. pulumi_gcp/compute/backend_service_signed_url_key.py +35 -30
  366. pulumi_gcp/compute/ca_external_account_key.py +5 -0
  367. pulumi_gcp/compute/disk.py +54 -49
  368. pulumi_gcp/compute/disk_async_replication.py +10 -5
  369. pulumi_gcp/compute/disk_iam_binding.py +24 -19
  370. pulumi_gcp/compute/disk_iam_member.py +24 -19
  371. pulumi_gcp/compute/disk_iam_policy.py +21 -16
  372. pulumi_gcp/compute/disk_resource_policy_attachment.py +21 -16
  373. pulumi_gcp/compute/external_vpn_gateway.py +24 -19
  374. pulumi_gcp/compute/firewall.py +42 -37
  375. pulumi_gcp/compute/firewall_policy.py +5 -0
  376. pulumi_gcp/compute/firewall_policy_association.py +5 -0
  377. pulumi_gcp/compute/firewall_policy_rule.py +44 -39
  378. pulumi_gcp/compute/forwarding_rule.py +248 -264
  379. pulumi_gcp/compute/get_address.py +5 -0
  380. pulumi_gcp/compute/get_addresses.py +5 -0
  381. pulumi_gcp/compute/get_backend_bucket.py +5 -0
  382. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +5 -0
  383. pulumi_gcp/compute/get_backend_service.py +5 -0
  384. pulumi_gcp/compute/get_backend_service_iam_policy.py +5 -0
  385. pulumi_gcp/compute/get_certificate.py +5 -0
  386. pulumi_gcp/compute/get_default_service_account.py +5 -0
  387. pulumi_gcp/compute/get_disk.py +13 -8
  388. pulumi_gcp/compute/get_disk_iam_policy.py +5 -0
  389. pulumi_gcp/compute/get_forwarding_rule.py +5 -0
  390. pulumi_gcp/compute/get_forwarding_rules.py +5 -0
  391. pulumi_gcp/compute/get_global_address.py +5 -0
  392. pulumi_gcp/compute/get_global_forwarding_rule.py +5 -0
  393. pulumi_gcp/compute/get_hc_vpn_gateway.py +5 -0
  394. pulumi_gcp/compute/get_health_check.py +5 -0
  395. pulumi_gcp/compute/get_image.py +15 -10
  396. pulumi_gcp/compute/get_image_iam_policy.py +5 -0
  397. pulumi_gcp/compute/get_instance.py +5 -0
  398. pulumi_gcp/compute/get_instance_group.py +5 -0
  399. pulumi_gcp/compute/get_instance_group_manager.py +5 -0
  400. pulumi_gcp/compute/get_instance_iam_policy.py +5 -0
  401. pulumi_gcp/compute/get_instance_serial_port.py +29 -24
  402. pulumi_gcp/compute/get_instance_template.py +5 -0
  403. pulumi_gcp/compute/get_lbip_ranges.py +5 -0
  404. pulumi_gcp/compute/get_machine_image_iam_policy.py +5 -0
  405. pulumi_gcp/compute/get_machine_types.py +5 -0
  406. pulumi_gcp/compute/get_netblock_ip_ranges.py +5 -0
  407. pulumi_gcp/compute/get_network.py +5 -0
  408. pulumi_gcp/compute/get_network_endpoint_group.py +5 -0
  409. pulumi_gcp/compute/get_network_peering.py +5 -0
  410. pulumi_gcp/compute/get_networks.py +5 -0
  411. pulumi_gcp/compute/get_node_types.py +5 -0
  412. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +5 -0
  413. pulumi_gcp/compute/get_region_disk.py +5 -0
  414. pulumi_gcp/compute/get_region_disk_iam_policy.py +5 -0
  415. pulumi_gcp/compute/get_region_instance_group.py +5 -0
  416. pulumi_gcp/compute/get_region_instance_template.py +5 -0
  417. pulumi_gcp/compute/get_region_network_endpoint_group.py +5 -0
  418. pulumi_gcp/compute/get_region_ssl_certificate.py +5 -0
  419. pulumi_gcp/compute/get_regions.py +5 -0
  420. pulumi_gcp/compute/get_reservation.py +5 -0
  421. pulumi_gcp/compute/get_resource_policy.py +5 -0
  422. pulumi_gcp/compute/get_router.py +5 -0
  423. pulumi_gcp/compute/get_router_nat.py +5 -0
  424. pulumi_gcp/compute/get_router_status.py +5 -0
  425. pulumi_gcp/compute/get_security_policy.py +5 -0
  426. pulumi_gcp/compute/get_snapshot.py +5 -0
  427. pulumi_gcp/compute/get_snapshot_iam_policy.py +5 -0
  428. pulumi_gcp/compute/get_ssl_policy.py +5 -0
  429. pulumi_gcp/compute/get_subnetwork.py +5 -0
  430. pulumi_gcp/compute/get_subnetwork_iam_policy.py +5 -0
  431. pulumi_gcp/compute/get_subnetworks.py +5 -0
  432. pulumi_gcp/compute/get_vpn_gateway.py +5 -0
  433. pulumi_gcp/compute/get_zones.py +5 -0
  434. pulumi_gcp/compute/global_address.py +5 -0
  435. pulumi_gcp/compute/global_forwarding_rule.py +211 -227
  436. pulumi_gcp/compute/global_network_endpoint.py +5 -0
  437. pulumi_gcp/compute/global_network_endpoint_group.py +5 -0
  438. pulumi_gcp/compute/ha_vpn_gateway.py +32 -27
  439. pulumi_gcp/compute/health_check.py +174 -169
  440. pulumi_gcp/compute/http_health_check.py +5 -0
  441. pulumi_gcp/compute/https_health_check.py +5 -0
  442. pulumi_gcp/compute/image.py +50 -45
  443. pulumi_gcp/compute/image_iam_binding.py +102 -97
  444. pulumi_gcp/compute/image_iam_member.py +102 -97
  445. pulumi_gcp/compute/image_iam_policy.py +97 -92
  446. pulumi_gcp/compute/instance.py +104 -99
  447. pulumi_gcp/compute/instance_from_machine_image.py +61 -56
  448. pulumi_gcp/compute/instance_from_template.py +88 -83
  449. pulumi_gcp/compute/instance_group.py +26 -21
  450. pulumi_gcp/compute/instance_group_manager.py +138 -133
  451. pulumi_gcp/compute/instance_group_membership.py +21 -16
  452. pulumi_gcp/compute/instance_group_named_port.py +13 -8
  453. pulumi_gcp/compute/instance_iam_binding.py +102 -97
  454. pulumi_gcp/compute/instance_iam_member.py +102 -97
  455. pulumi_gcp/compute/instance_iam_policy.py +97 -92
  456. pulumi_gcp/compute/instance_settings.py +16 -11
  457. pulumi_gcp/compute/instance_template.py +147 -142
  458. pulumi_gcp/compute/interconnect.py +14 -9
  459. pulumi_gcp/compute/interconnect_attachment.py +19 -14
  460. pulumi_gcp/compute/machine_image.py +48 -43
  461. pulumi_gcp/compute/machine_image_iam_binding.py +102 -97
  462. pulumi_gcp/compute/machine_image_iam_member.py +102 -97
  463. pulumi_gcp/compute/machine_image_iam_policy.py +97 -92
  464. pulumi_gcp/compute/managed_ssl_certificate.py +40 -42
  465. pulumi_gcp/compute/manged_ssl_certificate.py +40 -42
  466. pulumi_gcp/compute/network.py +5 -0
  467. pulumi_gcp/compute/network_attachment.py +45 -24
  468. pulumi_gcp/compute/network_edge_security_service.py +5 -0
  469. pulumi_gcp/compute/network_endpoint.py +23 -18
  470. pulumi_gcp/compute/network_endpoint_group.py +5 -0
  471. pulumi_gcp/compute/network_endpoint_list.py +66 -61
  472. pulumi_gcp/compute/network_firewall_policy.py +5 -0
  473. pulumi_gcp/compute/network_firewall_policy_association.py +5 -0
  474. pulumi_gcp/compute/network_firewall_policy_rule.py +41 -36
  475. pulumi_gcp/compute/network_peering.py +5 -0
  476. pulumi_gcp/compute/network_peering_routes_config.py +41 -36
  477. pulumi_gcp/compute/node_group.py +50 -45
  478. pulumi_gcp/compute/node_template.py +21 -16
  479. pulumi_gcp/compute/organization_security_policy.py +5 -0
  480. pulumi_gcp/compute/organization_security_policy_association.py +31 -26
  481. pulumi_gcp/compute/organization_security_policy_rule.py +36 -31
  482. pulumi_gcp/compute/outputs.py +509 -8
  483. pulumi_gcp/compute/packet_mirroring.py +83 -78
  484. pulumi_gcp/compute/per_instance_config.py +56 -51
  485. pulumi_gcp/compute/project_cloud_armor_tier.py +5 -0
  486. pulumi_gcp/compute/project_default_network_tier.py +5 -0
  487. pulumi_gcp/compute/project_metadata.py +5 -0
  488. pulumi_gcp/compute/project_metadata_item.py +5 -0
  489. pulumi_gcp/compute/public_advertised_prefix.py +5 -0
  490. pulumi_gcp/compute/public_delegated_prefix.py +5 -0
  491. pulumi_gcp/compute/region_autoscaler.py +60 -55
  492. pulumi_gcp/compute/region_backend_service.py +203 -212
  493. pulumi_gcp/compute/region_backend_service_iam_binding.py +10 -5
  494. pulumi_gcp/compute/region_backend_service_iam_member.py +10 -5
  495. pulumi_gcp/compute/region_backend_service_iam_policy.py +5 -0
  496. pulumi_gcp/compute/region_commitment.py +47 -42
  497. pulumi_gcp/compute/region_disk.py +49 -44
  498. pulumi_gcp/compute/region_disk_iam_binding.py +146 -114
  499. pulumi_gcp/compute/region_disk_iam_member.py +146 -114
  500. pulumi_gcp/compute/region_disk_iam_policy.py +136 -104
  501. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +21 -16
  502. pulumi_gcp/compute/region_health_check.py +174 -169
  503. pulumi_gcp/compute/region_instance_group_manager.py +134 -129
  504. pulumi_gcp/compute/region_instance_template.py +55 -50
  505. pulumi_gcp/compute/region_network_endpoint.py +23 -18
  506. pulumi_gcp/compute/region_network_endpoint_group.py +135 -130
  507. pulumi_gcp/compute/region_network_firewall_policy.py +5 -0
  508. pulumi_gcp/compute/region_network_firewall_policy_association.py +5 -0
  509. pulumi_gcp/compute/region_network_firewall_policy_rule.py +41 -36
  510. pulumi_gcp/compute/region_per_instance_config.py +66 -61
  511. pulumi_gcp/compute/region_security_policy.py +49 -44
  512. pulumi_gcp/compute/region_security_policy_rule.py +161 -156
  513. pulumi_gcp/compute/region_ssl_certificate.py +5 -7
  514. pulumi_gcp/compute/region_ssl_policy.py +5 -0
  515. pulumi_gcp/compute/region_target_http_proxy.py +43 -38
  516. pulumi_gcp/compute/region_target_https_proxy.py +97 -92
  517. pulumi_gcp/compute/region_target_tcp_proxy.py +11 -6
  518. pulumi_gcp/compute/region_url_map.py +824 -819
  519. pulumi_gcp/compute/reservation.py +29 -24
  520. pulumi_gcp/compute/resource_policy.py +153 -148
  521. pulumi_gcp/compute/route.py +17 -12
  522. pulumi_gcp/compute/router.py +40 -35
  523. pulumi_gcp/compute/router_interface.py +5 -0
  524. pulumi_gcp/compute/router_nat.py +98 -93
  525. pulumi_gcp/compute/router_peer.py +78 -73
  526. pulumi_gcp/compute/router_status.py +5 -0
  527. pulumi_gcp/compute/security_policy.py +201 -196
  528. pulumi_gcp/compute/security_policy_rule.py +80 -75
  529. pulumi_gcp/compute/security_scan_config.py +15 -10
  530. pulumi_gcp/compute/service_attachment.py +60 -55
  531. pulumi_gcp/compute/shared_vpc_host_project.py +5 -0
  532. pulumi_gcp/compute/shared_vpc_service_project.py +5 -0
  533. pulumi_gcp/compute/snapshot.py +15 -10
  534. pulumi_gcp/compute/snapshot_iam_binding.py +24 -19
  535. pulumi_gcp/compute/snapshot_iam_member.py +24 -19
  536. pulumi_gcp/compute/snapshot_iam_policy.py +21 -16
  537. pulumi_gcp/compute/ssl_certificate.py +5 -7
  538. pulumi_gcp/compute/ssl_policy.py +5 -0
  539. pulumi_gcp/compute/subnetwork.py +33 -28
  540. pulumi_gcp/compute/subnetwork_iam_binding.py +102 -97
  541. pulumi_gcp/compute/subnetwork_iam_member.py +102 -97
  542. pulumi_gcp/compute/subnetwork_iam_policy.py +97 -92
  543. pulumi_gcp/compute/target_grpc_proxy.py +129 -124
  544. pulumi_gcp/compute/target_http_proxy.py +61 -56
  545. pulumi_gcp/compute/target_https_proxy.py +209 -129
  546. pulumi_gcp/compute/target_instance.py +63 -58
  547. pulumi_gcp/compute/target_pool.py +5 -0
  548. pulumi_gcp/compute/target_ssl_proxy.py +11 -6
  549. pulumi_gcp/compute/target_tcp_proxy.py +11 -6
  550. pulumi_gcp/compute/url_map.py +986 -726
  551. pulumi_gcp/compute/vpn_gateway.py +5 -0
  552. pulumi_gcp/compute/vpn_tunnel.py +5 -0
  553. pulumi_gcp/config/__init__.pyi +5 -0
  554. pulumi_gcp/config/outputs.py +5 -0
  555. pulumi_gcp/config/vars.py +5 -0
  556. pulumi_gcp/container/_inputs.py +5502 -823
  557. pulumi_gcp/container/attached_cluster.py +128 -123
  558. pulumi_gcp/container/aws_cluster.py +361 -356
  559. pulumi_gcp/container/aws_node_pool.py +556 -551
  560. pulumi_gcp/container/azure_client.py +7 -2
  561. pulumi_gcp/container/azure_cluster.py +135 -130
  562. pulumi_gcp/container/azure_node_pool.py +117 -112
  563. pulumi_gcp/container/cluster.py +224 -219
  564. pulumi_gcp/container/get_attached_install_manifest.py +5 -0
  565. pulumi_gcp/container/get_attached_versions.py +5 -0
  566. pulumi_gcp/container/get_aws_versions.py +5 -0
  567. pulumi_gcp/container/get_azure_versions.py +5 -0
  568. pulumi_gcp/container/get_cluster.py +5 -0
  569. pulumi_gcp/container/get_engine_versions.py +5 -0
  570. pulumi_gcp/container/get_registry_image.py +5 -0
  571. pulumi_gcp/container/get_registry_repository.py +5 -0
  572. pulumi_gcp/container/node_pool.py +78 -73
  573. pulumi_gcp/container/outputs.py +5 -0
  574. pulumi_gcp/container/registry.py +5 -0
  575. pulumi_gcp/containeranalysis/_inputs.py +121 -0
  576. pulumi_gcp/containeranalysis/get_note_iam_policy.py +5 -0
  577. pulumi_gcp/containeranalysis/note.py +49 -44
  578. pulumi_gcp/containeranalysis/note_iam_binding.py +24 -19
  579. pulumi_gcp/containeranalysis/note_iam_member.py +24 -19
  580. pulumi_gcp/containeranalysis/note_iam_policy.py +21 -16
  581. pulumi_gcp/containeranalysis/occurence.py +10 -5
  582. pulumi_gcp/containeranalysis/outputs.py +5 -0
  583. pulumi_gcp/databasemigrationservice/_inputs.py +578 -0
  584. pulumi_gcp/databasemigrationservice/connection_profile.py +188 -183
  585. pulumi_gcp/databasemigrationservice/outputs.py +5 -0
  586. pulumi_gcp/databasemigrationservice/private_connection.py +20 -15
  587. pulumi_gcp/datacatalog/_inputs.py +318 -0
  588. pulumi_gcp/datacatalog/entry.py +20 -15
  589. pulumi_gcp/datacatalog/entry_group.py +5 -0
  590. pulumi_gcp/datacatalog/entry_group_iam_binding.py +24 -19
  591. pulumi_gcp/datacatalog/entry_group_iam_member.py +24 -19
  592. pulumi_gcp/datacatalog/entry_group_iam_policy.py +21 -16
  593. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +5 -0
  594. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +5 -0
  595. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +5 -0
  596. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +5 -0
  597. pulumi_gcp/datacatalog/outputs.py +5 -0
  598. pulumi_gcp/datacatalog/policy_tag.py +5 -0
  599. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +24 -19
  600. pulumi_gcp/datacatalog/policy_tag_iam_member.py +24 -19
  601. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +21 -16
  602. pulumi_gcp/datacatalog/tag.py +264 -259
  603. pulumi_gcp/datacatalog/tag_template.py +76 -71
  604. pulumi_gcp/datacatalog/tag_template_iam_binding.py +24 -19
  605. pulumi_gcp/datacatalog/tag_template_iam_member.py +24 -19
  606. pulumi_gcp/datacatalog/tag_template_iam_policy.py +21 -16
  607. pulumi_gcp/datacatalog/taxonomy.py +5 -0
  608. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +24 -19
  609. pulumi_gcp/datacatalog/taxonomy_iam_member.py +24 -19
  610. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +21 -16
  611. pulumi_gcp/dataflow/_inputs.py +316 -0
  612. pulumi_gcp/dataflow/flex_template_job.py +5 -0
  613. pulumi_gcp/dataflow/job.py +5 -0
  614. pulumi_gcp/dataflow/outputs.py +5 -0
  615. pulumi_gcp/dataflow/pipeline.py +75 -70
  616. pulumi_gcp/dataform/_inputs.py +251 -0
  617. pulumi_gcp/dataform/get_repository_iam_policy.py +5 -0
  618. pulumi_gcp/dataform/outputs.py +5 -0
  619. pulumi_gcp/dataform/repository.py +41 -36
  620. pulumi_gcp/dataform/repository_iam_binding.py +8 -3
  621. pulumi_gcp/dataform/repository_iam_member.py +8 -3
  622. pulumi_gcp/dataform/repository_iam_policy.py +5 -0
  623. pulumi_gcp/dataform/repository_release_config.py +58 -53
  624. pulumi_gcp/dataform/repository_workflow_config.py +94 -89
  625. pulumi_gcp/datafusion/_inputs.py +224 -8
  626. pulumi_gcp/datafusion/get_instance_iam_policy.py +5 -0
  627. pulumi_gcp/datafusion/instance.py +119 -50
  628. pulumi_gcp/datafusion/outputs.py +132 -7
  629. pulumi_gcp/dataloss/_inputs.py +6566 -114
  630. pulumi_gcp/dataloss/outputs.py +5 -0
  631. pulumi_gcp/dataloss/prevention_deidentify_template.py +226 -221
  632. pulumi_gcp/dataloss/prevention_discovery_config.py +22 -17
  633. pulumi_gcp/dataloss/prevention_inspect_template.py +442 -437
  634. pulumi_gcp/dataloss/prevention_job_trigger.py +701 -696
  635. pulumi_gcp/dataloss/prevention_stored_info_type.py +62 -57
  636. pulumi_gcp/dataplex/_inputs.py +1212 -6
  637. pulumi_gcp/dataplex/aspect_type.py +5 -0
  638. pulumi_gcp/dataplex/aspect_type_iam_binding.py +24 -19
  639. pulumi_gcp/dataplex/aspect_type_iam_member.py +24 -19
  640. pulumi_gcp/dataplex/aspect_type_iam_policy.py +21 -16
  641. pulumi_gcp/dataplex/asset.py +47 -42
  642. pulumi_gcp/dataplex/asset_iam_binding.py +24 -19
  643. pulumi_gcp/dataplex/asset_iam_member.py +24 -19
  644. pulumi_gcp/dataplex/asset_iam_policy.py +21 -16
  645. pulumi_gcp/dataplex/datascan.py +289 -284
  646. pulumi_gcp/dataplex/datascan_iam_binding.py +24 -19
  647. pulumi_gcp/dataplex/datascan_iam_member.py +24 -19
  648. pulumi_gcp/dataplex/datascan_iam_policy.py +21 -16
  649. pulumi_gcp/dataplex/entry_group.py +5 -0
  650. pulumi_gcp/dataplex/entry_group_iam_binding.py +24 -19
  651. pulumi_gcp/dataplex/entry_group_iam_member.py +24 -19
  652. pulumi_gcp/dataplex/entry_group_iam_policy.py +21 -16
  653. pulumi_gcp/dataplex/entry_type.py +16 -11
  654. pulumi_gcp/dataplex/entry_type_iam_binding.py +24 -19
  655. pulumi_gcp/dataplex/entry_type_iam_member.py +24 -19
  656. pulumi_gcp/dataplex/entry_type_iam_policy.py +21 -16
  657. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +5 -0
  658. pulumi_gcp/dataplex/get_asset_iam_policy.py +5 -0
  659. pulumi_gcp/dataplex/get_datascan_iam_policy.py +5 -0
  660. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +5 -0
  661. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +5 -0
  662. pulumi_gcp/dataplex/get_lake_iam_policy.py +5 -0
  663. pulumi_gcp/dataplex/get_task_iam_policy.py +5 -0
  664. pulumi_gcp/dataplex/get_zone_iam_policy.py +5 -0
  665. pulumi_gcp/dataplex/lake.py +14 -9
  666. pulumi_gcp/dataplex/lake_iam_binding.py +24 -19
  667. pulumi_gcp/dataplex/lake_iam_member.py +24 -19
  668. pulumi_gcp/dataplex/lake_iam_policy.py +21 -16
  669. pulumi_gcp/dataplex/outputs.py +5 -0
  670. pulumi_gcp/dataplex/task.py +173 -168
  671. pulumi_gcp/dataplex/task_iam_binding.py +24 -19
  672. pulumi_gcp/dataplex/task_iam_member.py +24 -19
  673. pulumi_gcp/dataplex/task_iam_policy.py +21 -16
  674. pulumi_gcp/dataplex/zone.py +29 -24
  675. pulumi_gcp/dataplex/zone_iam_binding.py +24 -19
  676. pulumi_gcp/dataplex/zone_iam_member.py +24 -19
  677. pulumi_gcp/dataplex/zone_iam_policy.py +21 -16
  678. pulumi_gcp/dataproc/_inputs.py +3214 -39
  679. pulumi_gcp/dataproc/autoscaling_policy.py +50 -45
  680. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +24 -19
  681. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +24 -19
  682. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +21 -16
  683. pulumi_gcp/dataproc/cluster.py +109 -104
  684. pulumi_gcp/dataproc/cluster_iam_binding.py +24 -19
  685. pulumi_gcp/dataproc/cluster_iam_member.py +24 -19
  686. pulumi_gcp/dataproc/cluster_iam_policy.py +21 -16
  687. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +5 -0
  688. pulumi_gcp/dataproc/get_cluster_iam_policy.py +5 -0
  689. pulumi_gcp/dataproc/get_job_iam_policy.py +5 -0
  690. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +5 -0
  691. pulumi_gcp/dataproc/get_metastore_service.py +5 -0
  692. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +5 -0
  693. pulumi_gcp/dataproc/job.py +95 -90
  694. pulumi_gcp/dataproc/job_iam_binding.py +24 -19
  695. pulumi_gcp/dataproc/job_iam_member.py +24 -19
  696. pulumi_gcp/dataproc/job_iam_policy.py +21 -16
  697. pulumi_gcp/dataproc/metastore_federation.py +56 -51
  698. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +24 -19
  699. pulumi_gcp/dataproc/metastore_federation_iam_member.py +24 -19
  700. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +21 -16
  701. pulumi_gcp/dataproc/metastore_service.py +239 -234
  702. pulumi_gcp/dataproc/metastore_service_iam_binding.py +24 -19
  703. pulumi_gcp/dataproc/metastore_service_iam_member.py +24 -19
  704. pulumi_gcp/dataproc/metastore_service_iam_policy.py +21 -16
  705. pulumi_gcp/dataproc/outputs.py +5 -0
  706. pulumi_gcp/dataproc/workflow_template.py +112 -107
  707. pulumi_gcp/datastore/_inputs.py +22 -0
  708. pulumi_gcp/datastore/data_store_index.py +26 -21
  709. pulumi_gcp/datastore/outputs.py +5 -0
  710. pulumi_gcp/datastream/_inputs.py +1631 -35
  711. pulumi_gcp/datastream/connection_profile.py +251 -246
  712. pulumi_gcp/datastream/get_static_ips.py +5 -0
  713. pulumi_gcp/datastream/outputs.py +5 -0
  714. pulumi_gcp/datastream/private_connection.py +20 -15
  715. pulumi_gcp/datastream/stream.py +777 -772
  716. pulumi_gcp/deploymentmanager/_inputs.py +66 -0
  717. pulumi_gcp/deploymentmanager/deployment.py +33 -28
  718. pulumi_gcp/deploymentmanager/outputs.py +5 -0
  719. pulumi_gcp/diagflow/_inputs.py +2590 -41
  720. pulumi_gcp/diagflow/agent.py +5 -0
  721. pulumi_gcp/diagflow/cx_agent.py +75 -70
  722. pulumi_gcp/diagflow/cx_entity_type.py +37 -32
  723. pulumi_gcp/diagflow/cx_environment.py +22 -17
  724. pulumi_gcp/diagflow/cx_flow.py +455 -450
  725. pulumi_gcp/diagflow/cx_intent.py +55 -50
  726. pulumi_gcp/diagflow/cx_page.py +718 -713
  727. pulumi_gcp/diagflow/cx_security_settings.py +69 -64
  728. pulumi_gcp/diagflow/cx_test_case.py +197 -192
  729. pulumi_gcp/diagflow/cx_version.py +13 -8
  730. pulumi_gcp/diagflow/cx_webhook.py +27 -22
  731. pulumi_gcp/diagflow/entity_type.py +26 -21
  732. pulumi_gcp/diagflow/fulfillment.py +27 -22
  733. pulumi_gcp/diagflow/intent.py +7 -2
  734. pulumi_gcp/diagflow/outputs.py +5 -0
  735. pulumi_gcp/discoveryengine/_inputs.py +183 -0
  736. pulumi_gcp/discoveryengine/chat_engine.py +37 -32
  737. pulumi_gcp/discoveryengine/data_store.py +32 -27
  738. pulumi_gcp/discoveryengine/outputs.py +5 -0
  739. pulumi_gcp/discoveryengine/search_engine.py +17 -12
  740. pulumi_gcp/dns/_inputs.py +589 -0
  741. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +24 -19
  742. pulumi_gcp/dns/dns_managed_zone_iam_member.py +24 -19
  743. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +21 -16
  744. pulumi_gcp/dns/get_keys.py +13 -8
  745. pulumi_gcp/dns/get_managed_zone.py +5 -0
  746. pulumi_gcp/dns/get_managed_zone_iam_policy.py +5 -0
  747. pulumi_gcp/dns/get_managed_zones.py +5 -0
  748. pulumi_gcp/dns/get_record_set.py +5 -0
  749. pulumi_gcp/dns/managed_zone.py +183 -178
  750. pulumi_gcp/dns/outputs.py +5 -0
  751. pulumi_gcp/dns/policy.py +47 -42
  752. pulumi_gcp/dns/record_set.py +100 -95
  753. pulumi_gcp/dns/response_policy.py +81 -76
  754. pulumi_gcp/dns/response_policy_rule.py +38 -33
  755. pulumi_gcp/edgecontainer/_inputs.py +464 -0
  756. pulumi_gcp/edgecontainer/cluster.py +152 -147
  757. pulumi_gcp/edgecontainer/node_pool.py +109 -104
  758. pulumi_gcp/edgecontainer/outputs.py +5 -0
  759. pulumi_gcp/edgecontainer/vpn_connection.py +36 -31
  760. pulumi_gcp/edgenetwork/network.py +5 -0
  761. pulumi_gcp/edgenetwork/subnet.py +5 -0
  762. pulumi_gcp/endpoints/_inputs.py +101 -0
  763. pulumi_gcp/endpoints/consumers_iam_binding.py +8 -3
  764. pulumi_gcp/endpoints/consumers_iam_member.py +8 -3
  765. pulumi_gcp/endpoints/consumers_iam_policy.py +5 -0
  766. pulumi_gcp/endpoints/get_service_consumers_iam_policy.py +5 -0
  767. pulumi_gcp/endpoints/get_service_iam_policy.py +5 -0
  768. pulumi_gcp/endpoints/outputs.py +5 -0
  769. pulumi_gcp/endpoints/service.py +9 -4
  770. pulumi_gcp/endpoints/service_iam_binding.py +24 -19
  771. pulumi_gcp/endpoints/service_iam_member.py +24 -19
  772. pulumi_gcp/endpoints/service_iam_policy.py +21 -16
  773. pulumi_gcp/essentialcontacts/_inputs.py +313 -0
  774. pulumi_gcp/essentialcontacts/contact.py +5 -0
  775. pulumi_gcp/essentialcontacts/document_ai_processor.py +5 -0
  776. pulumi_gcp/essentialcontacts/document_ai_processor_default_version.py +5 -0
  777. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +40 -35
  778. pulumi_gcp/essentialcontacts/document_ai_warehouse_location.py +5 -0
  779. pulumi_gcp/essentialcontacts/outputs.py +5 -0
  780. pulumi_gcp/eventarc/_inputs.py +145 -0
  781. pulumi_gcp/eventarc/channel.py +5 -0
  782. pulumi_gcp/eventarc/google_channel_config.py +5 -0
  783. pulumi_gcp/eventarc/outputs.py +5 -0
  784. pulumi_gcp/eventarc/trigger.py +78 -73
  785. pulumi_gcp/filestore/_inputs.py +108 -0
  786. pulumi_gcp/filestore/backup.py +23 -18
  787. pulumi_gcp/filestore/get_instance.py +5 -0
  788. pulumi_gcp/filestore/instance.py +107 -102
  789. pulumi_gcp/filestore/outputs.py +5 -0
  790. pulumi_gcp/filestore/snapshot.py +37 -32
  791. pulumi_gcp/firebase/_inputs.py +511 -0
  792. pulumi_gcp/firebase/android_app.py +21 -16
  793. pulumi_gcp/firebase/app_check_app_attest_config.py +5 -0
  794. pulumi_gcp/firebase/app_check_debug_token.py +5 -0
  795. pulumi_gcp/firebase/app_check_device_check_config.py +5 -0
  796. pulumi_gcp/firebase/app_check_play_integrity_config.py +5 -0
  797. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +5 -0
  798. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +5 -0
  799. pulumi_gcp/firebase/app_check_service_config.py +5 -0
  800. pulumi_gcp/firebase/apple_app.py +15 -10
  801. pulumi_gcp/firebase/database_instance.py +5 -0
  802. pulumi_gcp/firebase/extensions_instance.py +30 -25
  803. pulumi_gcp/firebase/get_android_app.py +5 -0
  804. pulumi_gcp/firebase/get_android_app_config.py +5 -0
  805. pulumi_gcp/firebase/get_apple_app.py +5 -0
  806. pulumi_gcp/firebase/get_apple_app_config.py +5 -0
  807. pulumi_gcp/firebase/get_hosting_channel.py +5 -0
  808. pulumi_gcp/firebase/get_web_app.py +5 -0
  809. pulumi_gcp/firebase/get_web_app_config.py +5 -0
  810. pulumi_gcp/firebase/hosting_channel.py +5 -0
  811. pulumi_gcp/firebase/hosting_custom_domain.py +39 -34
  812. pulumi_gcp/firebase/hosting_release.py +33 -28
  813. pulumi_gcp/firebase/hosting_site.py +5 -0
  814. pulumi_gcp/firebase/hosting_version.py +76 -71
  815. pulumi_gcp/firebase/outputs.py +5 -0
  816. pulumi_gcp/firebase/project.py +5 -0
  817. pulumi_gcp/firebase/storage_bucket.py +5 -0
  818. pulumi_gcp/firebase/web_app.py +15 -10
  819. pulumi_gcp/firebaserules/_inputs.py +51 -0
  820. pulumi_gcp/firebaserules/outputs.py +5 -0
  821. pulumi_gcp/firebaserules/release.py +5 -0
  822. pulumi_gcp/firebaserules/ruleset.py +40 -35
  823. pulumi_gcp/firestore/_inputs.py +154 -0
  824. pulumi_gcp/firestore/backup_schedule.py +23 -18
  825. pulumi_gcp/firestore/database.py +22 -17
  826. pulumi_gcp/firestore/document.py +5 -0
  827. pulumi_gcp/firestore/field.py +63 -58
  828. pulumi_gcp/firestore/index.py +72 -67
  829. pulumi_gcp/firestore/outputs.py +5 -0
  830. pulumi_gcp/folder/_inputs.py +165 -0
  831. pulumi_gcp/folder/access_approval_settings.py +28 -23
  832. pulumi_gcp/folder/get_iam_policy.py +5 -0
  833. pulumi_gcp/folder/get_organization_policy.py +5 -0
  834. pulumi_gcp/folder/iam_audit_config.py +130 -125
  835. pulumi_gcp/folder/iam_binding.py +8 -3
  836. pulumi_gcp/folder/iam_member.py +130 -125
  837. pulumi_gcp/folder/iam_policy.py +125 -120
  838. pulumi_gcp/folder/organization_policy.py +54 -49
  839. pulumi_gcp/folder/outputs.py +5 -0
  840. pulumi_gcp/gkebackup/_inputs.py +694 -0
  841. pulumi_gcp/gkebackup/backup_plan.py +436 -431
  842. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +24 -19
  843. pulumi_gcp/gkebackup/backup_plan_iam_member.py +24 -19
  844. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +21 -16
  845. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +5 -0
  846. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +5 -0
  847. pulumi_gcp/gkebackup/outputs.py +5 -0
  848. pulumi_gcp/gkebackup/restore_plan.py +580 -575
  849. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +336 -956
  850. pulumi_gcp/gkebackup/restore_plan_iam_member.py +336 -956
  851. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +243 -953
  852. pulumi_gcp/gkehub/_inputs.py +1204 -6
  853. pulumi_gcp/gkehub/feature.py +319 -314
  854. pulumi_gcp/gkehub/feature_iam_binding.py +24 -19
  855. pulumi_gcp/gkehub/feature_iam_member.py +24 -19
  856. pulumi_gcp/gkehub/feature_iam_policy.py +21 -16
  857. pulumi_gcp/gkehub/feature_membership.py +184 -179
  858. pulumi_gcp/gkehub/fleet.py +24 -19
  859. pulumi_gcp/gkehub/get_feature_iam_policy.py +5 -0
  860. pulumi_gcp/gkehub/get_membership_iam_policy.py +5 -0
  861. pulumi_gcp/gkehub/get_scope_iam_policy.py +5 -0
  862. pulumi_gcp/gkehub/membership.py +57 -52
  863. pulumi_gcp/gkehub/membership_binding.py +17 -12
  864. pulumi_gcp/gkehub/membership_iam_binding.py +24 -19
  865. pulumi_gcp/gkehub/membership_iam_member.py +24 -19
  866. pulumi_gcp/gkehub/membership_iam_policy.py +21 -16
  867. pulumi_gcp/gkehub/membership_rbac_role_binding.py +28 -23
  868. pulumi_gcp/gkehub/namespace.py +7 -2
  869. pulumi_gcp/gkehub/outputs.py +5 -0
  870. pulumi_gcp/gkehub/scope.py +7 -2
  871. pulumi_gcp/gkehub/scope_iam_binding.py +24 -19
  872. pulumi_gcp/gkehub/scope_iam_member.py +24 -19
  873. pulumi_gcp/gkehub/scope_iam_policy.py +21 -16
  874. pulumi_gcp/gkehub/scope_rbac_role_binding.py +18 -13
  875. pulumi_gcp/gkeonprem/_inputs.py +2318 -18
  876. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +335 -330
  877. pulumi_gcp/gkeonprem/bare_metal_cluster.py +528 -523
  878. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +262 -257
  879. pulumi_gcp/gkeonprem/outputs.py +5 -0
  880. pulumi_gcp/gkeonprem/v_mware_cluster.py +399 -394
  881. pulumi_gcp/gkeonprem/v_mware_node_pool.py +89 -84
  882. pulumi_gcp/healthcare/_inputs.py +359 -0
  883. pulumi_gcp/healthcare/consent_store.py +5 -0
  884. pulumi_gcp/healthcare/consent_store_iam_binding.py +24 -19
  885. pulumi_gcp/healthcare/consent_store_iam_member.py +24 -19
  886. pulumi_gcp/healthcare/consent_store_iam_policy.py +21 -16
  887. pulumi_gcp/healthcare/dataset.py +115 -0
  888. pulumi_gcp/healthcare/dataset_iam_binding.py +24 -19
  889. pulumi_gcp/healthcare/dataset_iam_member.py +24 -19
  890. pulumi_gcp/healthcare/dataset_iam_policy.py +21 -16
  891. pulumi_gcp/healthcare/dicom_store.py +39 -34
  892. pulumi_gcp/healthcare/dicom_store_iam_binding.py +24 -19
  893. pulumi_gcp/healthcare/dicom_store_iam_member.py +24 -19
  894. pulumi_gcp/healthcare/dicom_store_iam_policy.py +21 -16
  895. pulumi_gcp/healthcare/fhir_store.py +62 -57
  896. pulumi_gcp/healthcare/fhir_store_iam_binding.py +24 -19
  897. pulumi_gcp/healthcare/fhir_store_iam_member.py +24 -19
  898. pulumi_gcp/healthcare/fhir_store_iam_policy.py +21 -16
  899. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +5 -0
  900. pulumi_gcp/healthcare/get_dataset_iam_policy.py +5 -0
  901. pulumi_gcp/healthcare/get_dicom_store_iam_policy.py +5 -0
  902. pulumi_gcp/healthcare/get_fhir_store_iam_policy.py +5 -0
  903. pulumi_gcp/healthcare/get_hl7_v2_store_iam_policy.py +5 -0
  904. pulumi_gcp/healthcare/hl7_store.py +46 -41
  905. pulumi_gcp/healthcare/hl7_store_iam_binding.py +24 -19
  906. pulumi_gcp/healthcare/hl7_store_iam_member.py +24 -19
  907. pulumi_gcp/healthcare/hl7_store_iam_policy.py +21 -16
  908. pulumi_gcp/healthcare/outputs.py +48 -0
  909. pulumi_gcp/iam/_inputs.py +433 -0
  910. pulumi_gcp/iam/access_boundary_policy.py +54 -49
  911. pulumi_gcp/iam/deny_policy.py +56 -51
  912. pulumi_gcp/iam/get_rule.py +5 -0
  913. pulumi_gcp/iam/get_testable_permissions.py +5 -0
  914. pulumi_gcp/iam/get_workload_identity_pool.py +5 -0
  915. pulumi_gcp/iam/get_workload_identity_pool_provider.py +5 -0
  916. pulumi_gcp/iam/outputs.py +5 -0
  917. pulumi_gcp/iam/workforce_pool.py +22 -17
  918. pulumi_gcp/iam/workforce_pool_provider.py +184 -179
  919. pulumi_gcp/iam/workload_identity_pool.py +5 -0
  920. pulumi_gcp/iam/workload_identity_pool_provider.py +68 -63
  921. pulumi_gcp/iap/_inputs.py +411 -0
  922. pulumi_gcp/iap/app_engine_service_iam_binding.py +102 -97
  923. pulumi_gcp/iap/app_engine_service_iam_member.py +102 -97
  924. pulumi_gcp/iap/app_engine_service_iam_policy.py +97 -92
  925. pulumi_gcp/iap/app_engine_version_iam_binding.py +102 -97
  926. pulumi_gcp/iap/app_engine_version_iam_member.py +102 -97
  927. pulumi_gcp/iap/app_engine_version_iam_policy.py +97 -92
  928. pulumi_gcp/iap/brand.py +5 -0
  929. pulumi_gcp/iap/client.py +5 -0
  930. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +5 -0
  931. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +5 -0
  932. pulumi_gcp/iap/get_client.py +5 -0
  933. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +5 -0
  934. pulumi_gcp/iap/get_tunnel_iam_policy.py +5 -0
  935. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +5 -0
  936. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +5 -0
  937. pulumi_gcp/iap/get_web_iam_policy.py +5 -0
  938. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +5 -0
  939. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +5 -0
  940. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +5 -0
  941. pulumi_gcp/iap/outputs.py +5 -0
  942. pulumi_gcp/iap/tunnel_dest_group.py +5 -0
  943. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +102 -97
  944. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +102 -97
  945. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +97 -92
  946. pulumi_gcp/iap/tunnel_iam_binding.py +102 -97
  947. pulumi_gcp/iap/tunnel_iam_member.py +102 -97
  948. pulumi_gcp/iap/tunnel_iam_policy.py +97 -92
  949. pulumi_gcp/iap/tunnel_instance_iam_binding.py +102 -97
  950. pulumi_gcp/iap/tunnel_instance_iam_member.py +102 -97
  951. pulumi_gcp/iap/tunnel_instance_iam_policy.py +97 -92
  952. pulumi_gcp/iap/web_backend_service_iam_binding.py +102 -97
  953. pulumi_gcp/iap/web_backend_service_iam_member.py +102 -97
  954. pulumi_gcp/iap/web_backend_service_iam_policy.py +97 -92
  955. pulumi_gcp/iap/web_iam_binding.py +102 -97
  956. pulumi_gcp/iap/web_iam_member.py +102 -97
  957. pulumi_gcp/iap/web_iam_policy.py +97 -92
  958. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +102 -97
  959. pulumi_gcp/iap/web_region_backend_service_iam_member.py +102 -97
  960. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +97 -92
  961. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +102 -97
  962. pulumi_gcp/iap/web_type_app_enging_iam_member.py +102 -97
  963. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +97 -92
  964. pulumi_gcp/iap/web_type_compute_iam_binding.py +102 -97
  965. pulumi_gcp/iap/web_type_compute_iam_member.py +102 -97
  966. pulumi_gcp/iap/web_type_compute_iam_policy.py +97 -92
  967. pulumi_gcp/identityplatform/_inputs.py +576 -0
  968. pulumi_gcp/identityplatform/config.py +120 -115
  969. pulumi_gcp/identityplatform/default_supported_idp_config.py +5 -0
  970. pulumi_gcp/identityplatform/inbound_saml_config.py +39 -34
  971. pulumi_gcp/identityplatform/oauth_idp_config.py +5 -0
  972. pulumi_gcp/identityplatform/outputs.py +5 -0
  973. pulumi_gcp/identityplatform/project_default_config.py +38 -33
  974. pulumi_gcp/identityplatform/tenant.py +5 -0
  975. pulumi_gcp/identityplatform/tenant_default_supported_idp_config.py +5 -0
  976. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +39 -34
  977. pulumi_gcp/identityplatform/tenant_oauth_idp_config.py +5 -0
  978. pulumi_gcp/integrationconnectors/_inputs.py +868 -0
  979. pulumi_gcp/integrationconnectors/connection.py +465 -460
  980. pulumi_gcp/integrationconnectors/endpoint_attachment.py +5 -0
  981. pulumi_gcp/integrationconnectors/managed_zone.py +15 -10
  982. pulumi_gcp/integrationconnectors/outputs.py +5 -0
  983. pulumi_gcp/kms/_inputs.py +303 -0
  984. pulumi_gcp/kms/autokey_config.py +5 -0
  985. pulumi_gcp/kms/crypto_key.py +18 -13
  986. pulumi_gcp/kms/crypto_key_iam_binding.py +56 -51
  987. pulumi_gcp/kms/crypto_key_iam_member.py +56 -51
  988. pulumi_gcp/kms/crypto_key_iam_policy.py +51 -46
  989. pulumi_gcp/kms/crypto_key_version.py +12 -7
  990. pulumi_gcp/kms/ekm_connection.py +24 -19
  991. pulumi_gcp/kms/get_crypto_key_iam_policy.py +5 -0
  992. pulumi_gcp/kms/get_key_ring_iam_policy.py +5 -0
  993. pulumi_gcp/kms/get_kms_crypto_key.py +5 -0
  994. pulumi_gcp/kms/get_kms_crypto_key_version.py +5 -0
  995. pulumi_gcp/kms/get_kms_key_ring.py +5 -0
  996. pulumi_gcp/kms/get_kms_secret.py +11 -6
  997. pulumi_gcp/kms/get_kms_secret_asymmetric.py +17 -12
  998. pulumi_gcp/kms/get_kms_secret_ciphertext.py +23 -18
  999. pulumi_gcp/kms/key_handle.py +5 -0
  1000. pulumi_gcp/kms/key_ring.py +5 -0
  1001. pulumi_gcp/kms/key_ring_iam_binding.py +102 -97
  1002. pulumi_gcp/kms/key_ring_iam_member.py +102 -97
  1003. pulumi_gcp/kms/key_ring_iam_policy.py +97 -92
  1004. pulumi_gcp/kms/key_ring_import_job.py +9 -4
  1005. pulumi_gcp/kms/outputs.py +5 -0
  1006. pulumi_gcp/kms/secret_ciphertext.py +23 -18
  1007. pulumi_gcp/logging/_inputs.py +520 -0
  1008. pulumi_gcp/logging/billing_account_bucket_config.py +16 -11
  1009. pulumi_gcp/logging/billing_account_exclusion.py +5 -0
  1010. pulumi_gcp/logging/billing_account_sink.py +15 -10
  1011. pulumi_gcp/logging/folder_bucket_config.py +16 -11
  1012. pulumi_gcp/logging/folder_exclusion.py +5 -0
  1013. pulumi_gcp/logging/folder_settings.py +5 -0
  1014. pulumi_gcp/logging/folder_sink.py +15 -10
  1015. pulumi_gcp/logging/get_folder_settings.py +5 -0
  1016. pulumi_gcp/logging/get_log_view_iam_policy.py +5 -0
  1017. pulumi_gcp/logging/get_organization_settings.py +5 -0
  1018. pulumi_gcp/logging/get_project_cmek_settings.py +5 -0
  1019. pulumi_gcp/logging/get_project_settings.py +5 -0
  1020. pulumi_gcp/logging/get_sink.py +5 -0
  1021. pulumi_gcp/logging/linked_dataset.py +10 -5
  1022. pulumi_gcp/logging/log_view.py +5 -0
  1023. pulumi_gcp/logging/log_view_iam_binding.py +10 -5
  1024. pulumi_gcp/logging/log_view_iam_member.py +10 -5
  1025. pulumi_gcp/logging/log_view_iam_policy.py +5 -0
  1026. pulumi_gcp/logging/metric.py +97 -92
  1027. pulumi_gcp/logging/organization_bucket_config.py +16 -11
  1028. pulumi_gcp/logging/organization_exclusion.py +5 -0
  1029. pulumi_gcp/logging/organization_settings.py +5 -0
  1030. pulumi_gcp/logging/organization_sink.py +15 -10
  1031. pulumi_gcp/logging/outputs.py +5 -0
  1032. pulumi_gcp/logging/project_bucket_config.py +21 -16
  1033. pulumi_gcp/logging/project_exclusion.py +5 -0
  1034. pulumi_gcp/logging/project_sink.py +15 -10
  1035. pulumi_gcp/looker/_inputs.py +211 -0
  1036. pulumi_gcp/looker/instance.py +204 -199
  1037. pulumi_gcp/looker/outputs.py +5 -0
  1038. pulumi_gcp/managedkafka/_inputs.py +69 -0
  1039. pulumi_gcp/managedkafka/cluster.py +72 -67
  1040. pulumi_gcp/managedkafka/outputs.py +5 -0
  1041. pulumi_gcp/managedkafka/topic.py +27 -22
  1042. pulumi_gcp/memcache/_inputs.py +184 -0
  1043. pulumi_gcp/memcache/instance.py +56 -51
  1044. pulumi_gcp/memcache/outputs.py +5 -0
  1045. pulumi_gcp/migrationcenter/_inputs.py +182 -0
  1046. pulumi_gcp/migrationcenter/group.py +5 -0
  1047. pulumi_gcp/migrationcenter/outputs.py +5 -0
  1048. pulumi_gcp/migrationcenter/preference_set.py +82 -77
  1049. pulumi_gcp/ml/_inputs.py +17 -0
  1050. pulumi_gcp/ml/engine_model.py +10 -5
  1051. pulumi_gcp/ml/outputs.py +5 -0
  1052. pulumi_gcp/monitoring/_inputs.py +1778 -62
  1053. pulumi_gcp/monitoring/alert_policy.py +128 -123
  1054. pulumi_gcp/monitoring/custom_service.py +16 -11
  1055. pulumi_gcp/monitoring/dashboard.py +5 -0
  1056. pulumi_gcp/monitoring/generic_service.py +20 -15
  1057. pulumi_gcp/monitoring/get_app_engine_service.py +21 -16
  1058. pulumi_gcp/monitoring/get_cluster_istio_service.py +5 -0
  1059. pulumi_gcp/monitoring/get_istio_canonical_service.py +5 -0
  1060. pulumi_gcp/monitoring/get_mesh_istio_service.py +5 -0
  1061. pulumi_gcp/monitoring/get_notification_channel.py +29 -24
  1062. pulumi_gcp/monitoring/get_secret_version.py +5 -0
  1063. pulumi_gcp/monitoring/get_uptime_check_i_ps.py +5 -0
  1064. pulumi_gcp/monitoring/group.py +5 -0
  1065. pulumi_gcp/monitoring/metric_descriptor.py +49 -44
  1066. pulumi_gcp/monitoring/monitored_project.py +5 -0
  1067. pulumi_gcp/monitoring/notification_channel.py +16 -11
  1068. pulumi_gcp/monitoring/outputs.py +68 -0
  1069. pulumi_gcp/monitoring/slo.py +120 -115
  1070. pulumi_gcp/monitoring/uptime_check_config.py +241 -236
  1071. pulumi_gcp/netapp/_inputs.py +311 -0
  1072. pulumi_gcp/netapp/active_directory.py +5 -0
  1073. pulumi_gcp/netapp/backup.py +11 -6
  1074. pulumi_gcp/netapp/backup_policy.py +5 -0
  1075. pulumi_gcp/netapp/backup_vault.py +5 -0
  1076. pulumi_gcp/netapp/kmsconfig.py +5 -0
  1077. pulumi_gcp/netapp/outputs.py +5 -0
  1078. pulumi_gcp/netapp/storage_pool.py +5 -0
  1079. pulumi_gcp/netapp/volume.py +27 -22
  1080. pulumi_gcp/netapp/volume_replication.py +24 -19
  1081. pulumi_gcp/netapp/volume_snapshot.py +5 -0
  1082. pulumi_gcp/networkconnectivity/_inputs.py +253 -0
  1083. pulumi_gcp/networkconnectivity/hub.py +7 -2
  1084. pulumi_gcp/networkconnectivity/internal_range.py +5 -0
  1085. pulumi_gcp/networkconnectivity/outputs.py +5 -0
  1086. pulumi_gcp/networkconnectivity/policy_based_route.py +46 -41
  1087. pulumi_gcp/networkconnectivity/regional_endpoint.py +5 -0
  1088. pulumi_gcp/networkconnectivity/service_connection_policy.py +20 -15
  1089. pulumi_gcp/networkconnectivity/spoke.py +71 -66
  1090. pulumi_gcp/networkmanagement/_inputs.py +87 -0
  1091. pulumi_gcp/networkmanagement/connectivity_test.py +85 -80
  1092. pulumi_gcp/networkmanagement/outputs.py +5 -0
  1093. pulumi_gcp/networksecurity/_inputs.py +321 -0
  1094. pulumi_gcp/networksecurity/address_group.py +5 -0
  1095. pulumi_gcp/networksecurity/address_group_iam_binding.py +297 -5
  1096. pulumi_gcp/networksecurity/address_group_iam_member.py +297 -5
  1097. pulumi_gcp/networksecurity/address_group_iam_policy.py +5 -0
  1098. pulumi_gcp/networksecurity/authorization_policy.py +52 -47
  1099. pulumi_gcp/networksecurity/client_tls_policy.py +45 -40
  1100. pulumi_gcp/networksecurity/firewall_endpoint.py +5 -0
  1101. pulumi_gcp/networksecurity/firewall_endpoint_association.py +5 -0
  1102. pulumi_gcp/networksecurity/gateway_security_policy.py +91 -86
  1103. pulumi_gcp/networksecurity/gateway_security_policy_rule.py +5 -0
  1104. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +5 -0
  1105. pulumi_gcp/networksecurity/outputs.py +5 -0
  1106. pulumi_gcp/networksecurity/security_profile.py +40 -35
  1107. pulumi_gcp/networksecurity/security_profile_group.py +5 -0
  1108. pulumi_gcp/networksecurity/server_tls_policy.py +101 -96
  1109. pulumi_gcp/networksecurity/tls_inspection_policy.py +193 -188
  1110. pulumi_gcp/networksecurity/url_list.py +5 -0
  1111. pulumi_gcp/networkservices/_inputs.py +1781 -29
  1112. pulumi_gcp/networkservices/edge_cache_keyset.py +51 -46
  1113. pulumi_gcp/networkservices/edge_cache_origin.py +89 -84
  1114. pulumi_gcp/networkservices/edge_cache_service.py +567 -562
  1115. pulumi_gcp/networkservices/endpoint_policy.py +55 -50
  1116. pulumi_gcp/networkservices/gateway.py +21 -16
  1117. pulumi_gcp/networkservices/grpc_route.py +146 -141
  1118. pulumi_gcp/networkservices/http_route.py +294 -289
  1119. pulumi_gcp/networkservices/lb_route_extension.py +10 -5
  1120. pulumi_gcp/networkservices/lb_traffic_extension.py +10 -5
  1121. pulumi_gcp/networkservices/mesh.py +5 -0
  1122. pulumi_gcp/networkservices/outputs.py +5 -0
  1123. pulumi_gcp/networkservices/service_binding.py +5 -0
  1124. pulumi_gcp/networkservices/service_lb_policies.py +27 -22
  1125. pulumi_gcp/networkservices/tcp_route.py +106 -101
  1126. pulumi_gcp/networkservices/tls_route.py +82 -77
  1127. pulumi_gcp/notebooks/_inputs.py +615 -0
  1128. pulumi_gcp/notebooks/environment.py +21 -16
  1129. pulumi_gcp/notebooks/get_instance_iam_policy.py +5 -0
  1130. pulumi_gcp/notebooks/get_runtime_iam_policy.py +5 -0
  1131. pulumi_gcp/notebooks/instance.py +78 -73
  1132. pulumi_gcp/notebooks/instance_iam_binding.py +24 -19
  1133. pulumi_gcp/notebooks/instance_iam_member.py +24 -19
  1134. pulumi_gcp/notebooks/instance_iam_policy.py +21 -16
  1135. pulumi_gcp/notebooks/location.py +5 -0
  1136. pulumi_gcp/notebooks/outputs.py +5 -0
  1137. pulumi_gcp/notebooks/runtime.py +222 -217
  1138. pulumi_gcp/notebooks/runtime_iam_binding.py +24 -19
  1139. pulumi_gcp/notebooks/runtime_iam_member.py +24 -19
  1140. pulumi_gcp/notebooks/runtime_iam_policy.py +21 -16
  1141. pulumi_gcp/organizations/_inputs.py +231 -0
  1142. pulumi_gcp/organizations/access_approval_settings.py +36 -31
  1143. pulumi_gcp/organizations/folder.py +5 -0
  1144. pulumi_gcp/organizations/get_active_folder.py +5 -0
  1145. pulumi_gcp/organizations/get_billing_account.py +5 -0
  1146. pulumi_gcp/organizations/get_client_config.py +5 -0
  1147. pulumi_gcp/organizations/get_client_open_id_user_info.py +5 -0
  1148. pulumi_gcp/organizations/get_folder.py +5 -0
  1149. pulumi_gcp/organizations/get_folders.py +5 -0
  1150. pulumi_gcp/organizations/get_iam_policy.py +13 -8
  1151. pulumi_gcp/organizations/get_organization.py +5 -0
  1152. pulumi_gcp/organizations/get_project.py +5 -0
  1153. pulumi_gcp/organizations/iam_audit_config.py +18 -13
  1154. pulumi_gcp/organizations/iam_binding.py +8 -3
  1155. pulumi_gcp/organizations/iam_custom_role.py +5 -0
  1156. pulumi_gcp/organizations/iam_member.py +130 -125
  1157. pulumi_gcp/organizations/iam_policy.py +125 -120
  1158. pulumi_gcp/organizations/outputs.py +5 -0
  1159. pulumi_gcp/organizations/policy.py +54 -49
  1160. pulumi_gcp/organizations/project.py +5 -0
  1161. pulumi_gcp/orgpolicy/_inputs.py +183 -0
  1162. pulumi_gcp/orgpolicy/custom_constraint.py +15 -10
  1163. pulumi_gcp/orgpolicy/outputs.py +5 -0
  1164. pulumi_gcp/orgpolicy/policy.py +103 -98
  1165. pulumi_gcp/osconfig/_inputs.py +2235 -30
  1166. pulumi_gcp/osconfig/guest_policies.py +171 -166
  1167. pulumi_gcp/osconfig/os_policy_assignment.py +158 -153
  1168. pulumi_gcp/osconfig/outputs.py +5 -0
  1169. pulumi_gcp/osconfig/patch_deployment.py +326 -321
  1170. pulumi_gcp/oslogin/ssh_public_key.py +5 -0
  1171. pulumi_gcp/parallelstore/instance.py +5 -0
  1172. pulumi_gcp/privilegedaccessmanager/_inputs.py +170 -0
  1173. pulumi_gcp/privilegedaccessmanager/entitlement.py +94 -89
  1174. pulumi_gcp/privilegedaccessmanager/outputs.py +5 -0
  1175. pulumi_gcp/projects/_inputs.py +262 -0
  1176. pulumi_gcp/projects/access_approval_settings.py +30 -25
  1177. pulumi_gcp/projects/api_key.py +88 -83
  1178. pulumi_gcp/projects/default_service_accounts.py +5 -0
  1179. pulumi_gcp/projects/get_iam_policy.py +5 -0
  1180. pulumi_gcp/projects/get_organization_policy.py +5 -0
  1181. pulumi_gcp/projects/get_project.py +5 -0
  1182. pulumi_gcp/projects/get_project_service.py +5 -0
  1183. pulumi_gcp/projects/iam_audit_config.py +130 -125
  1184. pulumi_gcp/projects/iam_binding.py +130 -125
  1185. pulumi_gcp/projects/iam_custom_role.py +5 -0
  1186. pulumi_gcp/projects/iam_member.py +130 -125
  1187. pulumi_gcp/projects/iam_member_remove.py +5 -0
  1188. pulumi_gcp/projects/iam_policy.py +125 -120
  1189. pulumi_gcp/projects/organization_policy.py +54 -49
  1190. pulumi_gcp/projects/outputs.py +5 -0
  1191. pulumi_gcp/projects/service.py +5 -0
  1192. pulumi_gcp/projects/service_identity.py +5 -0
  1193. pulumi_gcp/projects/usage_export_bucket.py +5 -0
  1194. pulumi_gcp/provider.py +7 -2
  1195. pulumi_gcp/pubsub/_inputs.py +438 -0
  1196. pulumi_gcp/pubsub/get_schema_iam_policy.py +5 -0
  1197. pulumi_gcp/pubsub/get_subscription.py +5 -0
  1198. pulumi_gcp/pubsub/get_subscription_iam_policy.py +5 -0
  1199. pulumi_gcp/pubsub/get_topic.py +5 -0
  1200. pulumi_gcp/pubsub/get_topic_iam_policy.py +5 -0
  1201. pulumi_gcp/pubsub/lite_reservation.py +5 -0
  1202. pulumi_gcp/pubsub/lite_subscription.py +36 -31
  1203. pulumi_gcp/pubsub/lite_topic.py +46 -41
  1204. pulumi_gcp/pubsub/outputs.py +5 -0
  1205. pulumi_gcp/pubsub/schema.py +13 -8
  1206. pulumi_gcp/pubsub/schema_iam_binding.py +24 -19
  1207. pulumi_gcp/pubsub/schema_iam_member.py +24 -19
  1208. pulumi_gcp/pubsub/schema_iam_policy.py +21 -16
  1209. pulumi_gcp/pubsub/subscription.py +141 -136
  1210. pulumi_gcp/pubsub/subscription_iam_binding.py +24 -19
  1211. pulumi_gcp/pubsub/subscription_iam_member.py +24 -19
  1212. pulumi_gcp/pubsub/subscription_iam_policy.py +21 -16
  1213. pulumi_gcp/pubsub/topic.py +50 -45
  1214. pulumi_gcp/pubsub/topic_iam_binding.py +24 -19
  1215. pulumi_gcp/pubsub/topic_iam_member.py +24 -19
  1216. pulumi_gcp/pubsub/topic_iam_policy.py +21 -16
  1217. pulumi_gcp/pulumi-plugin.json +1 -1
  1218. pulumi_gcp/recaptcha/_inputs.py +89 -0
  1219. pulumi_gcp/recaptcha/enterprise_key.py +132 -127
  1220. pulumi_gcp/recaptcha/outputs.py +5 -0
  1221. pulumi_gcp/redis/_inputs.py +321 -0
  1222. pulumi_gcp/redis/cluster.py +59 -54
  1223. pulumi_gcp/redis/get_instance.py +5 -0
  1224. pulumi_gcp/redis/instance.py +51 -46
  1225. pulumi_gcp/redis/outputs.py +5 -0
  1226. pulumi_gcp/resourcemanager/lien.py +5 -0
  1227. pulumi_gcp/runtimeconfig/_inputs.py +25 -0
  1228. pulumi_gcp/runtimeconfig/config.py +5 -0
  1229. pulumi_gcp/runtimeconfig/config_iam_binding.py +8 -3
  1230. pulumi_gcp/runtimeconfig/config_iam_member.py +8 -3
  1231. pulumi_gcp/runtimeconfig/config_iam_policy.py +5 -0
  1232. pulumi_gcp/runtimeconfig/get_config.py +5 -0
  1233. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +5 -0
  1234. pulumi_gcp/runtimeconfig/get_variable.py +5 -0
  1235. pulumi_gcp/runtimeconfig/outputs.py +5 -0
  1236. pulumi_gcp/runtimeconfig/variable.py +5 -0
  1237. pulumi_gcp/secretmanager/_inputs.py +143 -0
  1238. pulumi_gcp/secretmanager/get_secret.py +5 -0
  1239. pulumi_gcp/secretmanager/get_secret_iam_policy.py +5 -0
  1240. pulumi_gcp/secretmanager/get_secret_version.py +5 -0
  1241. pulumi_gcp/secretmanager/get_secret_version_access.py +5 -0
  1242. pulumi_gcp/secretmanager/get_secrets.py +5 -0
  1243. pulumi_gcp/secretmanager/outputs.py +5 -0
  1244. pulumi_gcp/secretmanager/secret.py +68 -63
  1245. pulumi_gcp/secretmanager/secret_iam_binding.py +102 -97
  1246. pulumi_gcp/secretmanager/secret_iam_member.py +102 -97
  1247. pulumi_gcp/secretmanager/secret_iam_policy.py +97 -92
  1248. pulumi_gcp/secretmanager/secret_version.py +53 -48
  1249. pulumi_gcp/securesourcemanager/_inputs.py +75 -0
  1250. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +5 -0
  1251. pulumi_gcp/securesourcemanager/instance.py +78 -73
  1252. pulumi_gcp/securesourcemanager/instance_iam_binding.py +8 -3
  1253. pulumi_gcp/securesourcemanager/instance_iam_member.py +8 -3
  1254. pulumi_gcp/securesourcemanager/instance_iam_policy.py +5 -0
  1255. pulumi_gcp/securesourcemanager/outputs.py +5 -0
  1256. pulumi_gcp/securitycenter/_inputs.py +860 -7
  1257. pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +5 -0
  1258. pulumi_gcp/securitycenter/folder_custom_module.py +82 -77
  1259. pulumi_gcp/securitycenter/get_source_iam_policy.py +5 -0
  1260. pulumi_gcp/securitycenter/instance_iam_binding.py +102 -33
  1261. pulumi_gcp/securitycenter/instance_iam_member.py +102 -33
  1262. pulumi_gcp/securitycenter/instance_iam_policy.py +99 -30
  1263. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +82 -77
  1264. pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +5 -0
  1265. pulumi_gcp/securitycenter/management_organization_security_health_analytics_custom_module.py +82 -77
  1266. pulumi_gcp/securitycenter/management_project_security_health_analytics_custom_module.py +82 -77
  1267. pulumi_gcp/securitycenter/mute_config.py +5 -0
  1268. pulumi_gcp/securitycenter/notification_config.py +16 -11
  1269. pulumi_gcp/securitycenter/organization_custom_module.py +82 -77
  1270. pulumi_gcp/securitycenter/outputs.py +5 -0
  1271. pulumi_gcp/securitycenter/project_custom_module.py +82 -77
  1272. pulumi_gcp/securitycenter/source.py +5 -0
  1273. pulumi_gcp/securitycenter/source_iam_binding.py +8 -3
  1274. pulumi_gcp/securitycenter/source_iam_member.py +8 -3
  1275. pulumi_gcp/securitycenter/source_iam_policy.py +5 -0
  1276. pulumi_gcp/securityposture/_inputs.py +457 -0
  1277. pulumi_gcp/securityposture/outputs.py +5 -0
  1278. pulumi_gcp/securityposture/posture.py +186 -181
  1279. pulumi_gcp/securityposture/posture_deployment.py +35 -30
  1280. pulumi_gcp/serviceaccount/_inputs.py +51 -0
  1281. pulumi_gcp/serviceaccount/account.py +5 -0
  1282. pulumi_gcp/serviceaccount/get_account.py +5 -0
  1283. pulumi_gcp/serviceaccount/get_account_access_token.py +5 -0
  1284. pulumi_gcp/serviceaccount/get_account_id_token.py +5 -0
  1285. pulumi_gcp/serviceaccount/get_account_jwt.py +5 -0
  1286. pulumi_gcp/serviceaccount/get_account_key.py +5 -0
  1287. pulumi_gcp/serviceaccount/get_iam_policy.py +5 -0
  1288. pulumi_gcp/serviceaccount/iam_binding.py +66 -61
  1289. pulumi_gcp/serviceaccount/iam_member.py +66 -61
  1290. pulumi_gcp/serviceaccount/iam_policy.py +61 -56
  1291. pulumi_gcp/serviceaccount/key.py +5 -0
  1292. pulumi_gcp/serviceaccount/outputs.py +5 -0
  1293. pulumi_gcp/servicedirectory/_inputs.py +43 -0
  1294. pulumi_gcp/servicedirectory/endpoint.py +5 -0
  1295. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +5 -0
  1296. pulumi_gcp/servicedirectory/get_service_iam_policy.py +5 -0
  1297. pulumi_gcp/servicedirectory/namespace.py +5 -0
  1298. pulumi_gcp/servicedirectory/namespace_iam_binding.py +24 -19
  1299. pulumi_gcp/servicedirectory/namespace_iam_member.py +24 -19
  1300. pulumi_gcp/servicedirectory/namespace_iam_policy.py +21 -16
  1301. pulumi_gcp/servicedirectory/outputs.py +5 -0
  1302. pulumi_gcp/servicedirectory/service.py +5 -0
  1303. pulumi_gcp/servicedirectory/service_iam_binding.py +24 -19
  1304. pulumi_gcp/servicedirectory/service_iam_member.py +24 -19
  1305. pulumi_gcp/servicedirectory/service_iam_policy.py +21 -16
  1306. pulumi_gcp/servicenetworking/connection.py +5 -0
  1307. pulumi_gcp/servicenetworking/get_peered_dns_domain.py +5 -0
  1308. pulumi_gcp/servicenetworking/peered_dns_domain.py +5 -0
  1309. pulumi_gcp/servicenetworking/vpc_service_controls.py +5 -0
  1310. pulumi_gcp/serviceusage/consumer_quota_override.py +5 -0
  1311. pulumi_gcp/sourcerepo/_inputs.py +49 -0
  1312. pulumi_gcp/sourcerepo/get_repository.py +5 -0
  1313. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +5 -0
  1314. pulumi_gcp/sourcerepo/outputs.py +5 -0
  1315. pulumi_gcp/sourcerepo/repository.py +20 -15
  1316. pulumi_gcp/sourcerepo/repository_iam_binding.py +116 -102
  1317. pulumi_gcp/sourcerepo/repository_iam_member.py +116 -102
  1318. pulumi_gcp/sourcerepo/repository_iam_policy.py +106 -92
  1319. pulumi_gcp/spanner/_inputs.py +157 -0
  1320. pulumi_gcp/spanner/database.py +10 -5
  1321. pulumi_gcp/spanner/database_iam_binding.py +102 -97
  1322. pulumi_gcp/spanner/database_iam_member.py +102 -97
  1323. pulumi_gcp/spanner/database_iam_policy.py +97 -92
  1324. pulumi_gcp/spanner/get_database_iam_policy.py +5 -0
  1325. pulumi_gcp/spanner/get_instance.py +5 -0
  1326. pulumi_gcp/spanner/get_instance_iam_policy.py +5 -0
  1327. pulumi_gcp/spanner/instance.py +30 -25
  1328. pulumi_gcp/spanner/instance_config.py +10 -5
  1329. pulumi_gcp/spanner/instance_iam_binding.py +24 -19
  1330. pulumi_gcp/spanner/instance_iam_member.py +24 -19
  1331. pulumi_gcp/spanner/instance_iam_policy.py +21 -16
  1332. pulumi_gcp/spanner/outputs.py +5 -0
  1333. pulumi_gcp/sql/_inputs.py +616 -0
  1334. pulumi_gcp/sql/database.py +17 -12
  1335. pulumi_gcp/sql/database_instance.py +93 -88
  1336. pulumi_gcp/sql/get_backup_run.py +5 -0
  1337. pulumi_gcp/sql/get_ca_certs.py +5 -0
  1338. pulumi_gcp/sql/get_database.py +5 -0
  1339. pulumi_gcp/sql/get_database_instance.py +5 -0
  1340. pulumi_gcp/sql/get_database_instance_latest_recovery_time.py +5 -0
  1341. pulumi_gcp/sql/get_database_instances.py +5 -0
  1342. pulumi_gcp/sql/get_databases.py +5 -0
  1343. pulumi_gcp/sql/get_tiers.py +5 -0
  1344. pulumi_gcp/sql/outputs.py +5 -0
  1345. pulumi_gcp/sql/source_representation_instance.py +5 -0
  1346. pulumi_gcp/sql/ssl_cert.py +11 -6
  1347. pulumi_gcp/sql/user.py +43 -38
  1348. pulumi_gcp/storage/__init__.py +5 -0
  1349. pulumi_gcp/storage/_inputs.py +960 -2
  1350. pulumi_gcp/storage/bucket.py +125 -120
  1351. pulumi_gcp/storage/bucket_access_control.py +5 -0
  1352. pulumi_gcp/storage/bucket_acl.py +5 -0
  1353. pulumi_gcp/storage/bucket_iam_binding.py +102 -97
  1354. pulumi_gcp/storage/bucket_iam_member.py +102 -97
  1355. pulumi_gcp/storage/bucket_iam_policy.py +97 -92
  1356. pulumi_gcp/storage/bucket_object.py +15 -10
  1357. pulumi_gcp/storage/default_object_access_control.py +7 -2
  1358. pulumi_gcp/storage/default_object_acl.py +5 -0
  1359. pulumi_gcp/storage/get_bucket.py +5 -0
  1360. pulumi_gcp/storage/get_bucket_iam_policy.py +5 -0
  1361. pulumi_gcp/storage/get_bucket_object.py +5 -0
  1362. pulumi_gcp/storage/get_bucket_object_content.py +5 -0
  1363. pulumi_gcp/storage/get_bucket_objects.py +5 -0
  1364. pulumi_gcp/storage/get_buckets.py +5 -0
  1365. pulumi_gcp/storage/get_managed_folder_iam_policy.py +115 -0
  1366. pulumi_gcp/storage/get_object_signed_url.py +5 -0
  1367. pulumi_gcp/storage/get_project_service_account.py +11 -6
  1368. pulumi_gcp/storage/get_transfer_project_service_account.py +5 -0
  1369. pulumi_gcp/storage/get_transfer_project_servie_account.py +5 -0
  1370. pulumi_gcp/storage/hmac_key.py +5 -0
  1371. pulumi_gcp/storage/insights_report_config.py +76 -71
  1372. pulumi_gcp/storage/managed_folder.py +440 -0
  1373. pulumi_gcp/storage/managed_folder_iam_binding.py +947 -0
  1374. pulumi_gcp/storage/managed_folder_iam_member.py +947 -0
  1375. pulumi_gcp/storage/managed_folder_iam_policy.py +766 -0
  1376. pulumi_gcp/storage/notification.py +5 -0
  1377. pulumi_gcp/storage/object_access_control.py +7 -2
  1378. pulumi_gcp/storage/object_acl.py +5 -0
  1379. pulumi_gcp/storage/outputs.py +81 -0
  1380. pulumi_gcp/storage/transfer_agent_pool.py +16 -11
  1381. pulumi_gcp/storage/transfer_job.py +113 -108
  1382. pulumi_gcp/tags/_inputs.py +43 -0
  1383. pulumi_gcp/tags/get_tag_key.py +5 -0
  1384. pulumi_gcp/tags/get_tag_key_iam_policy.py +5 -0
  1385. pulumi_gcp/tags/get_tag_keys.py +5 -0
  1386. pulumi_gcp/tags/get_tag_value.py +5 -0
  1387. pulumi_gcp/tags/get_tag_value_iam_policy.py +5 -0
  1388. pulumi_gcp/tags/get_tag_values.py +5 -0
  1389. pulumi_gcp/tags/location_tag_binding.py +5 -0
  1390. pulumi_gcp/tags/outputs.py +5 -0
  1391. pulumi_gcp/tags/tag_binding.py +5 -0
  1392. pulumi_gcp/tags/tag_key.py +5 -0
  1393. pulumi_gcp/tags/tag_key_iam_binding.py +24 -19
  1394. pulumi_gcp/tags/tag_key_iam_member.py +24 -19
  1395. pulumi_gcp/tags/tag_key_iam_policy.py +21 -16
  1396. pulumi_gcp/tags/tag_value.py +5 -0
  1397. pulumi_gcp/tags/tag_value_iam_binding.py +24 -19
  1398. pulumi_gcp/tags/tag_value_iam_member.py +24 -19
  1399. pulumi_gcp/tags/tag_value_iam_policy.py +21 -16
  1400. pulumi_gcp/tpu/_inputs.py +194 -0
  1401. pulumi_gcp/tpu/get_tensorflow_versions.py +5 -0
  1402. pulumi_gcp/tpu/get_v2_accelerator_types.py +5 -0
  1403. pulumi_gcp/tpu/get_v2_runtime_versions.py +5 -0
  1404. pulumi_gcp/tpu/node.py +18 -13
  1405. pulumi_gcp/tpu/outputs.py +5 -0
  1406. pulumi_gcp/tpu/v2_vm.py +87 -82
  1407. pulumi_gcp/vertex/_inputs.py +843 -2
  1408. pulumi_gcp/vertex/ai_dataset.py +10 -5
  1409. pulumi_gcp/vertex/ai_deployment_resource_pool.py +36 -31
  1410. pulumi_gcp/vertex/ai_endpoint.py +18 -13
  1411. pulumi_gcp/vertex/ai_endpoint_iam_binding.py +8 -3
  1412. pulumi_gcp/vertex/ai_endpoint_iam_member.py +8 -3
  1413. pulumi_gcp/vertex/ai_endpoint_iam_policy.py +5 -0
  1414. pulumi_gcp/vertex/ai_feature_group.py +22 -17
  1415. pulumi_gcp/vertex/ai_feature_group_feature.py +17 -12
  1416. pulumi_gcp/vertex/ai_feature_online_store.py +80 -75
  1417. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +151 -146
  1418. pulumi_gcp/vertex/ai_feature_store.py +57 -52
  1419. pulumi_gcp/vertex/ai_feature_store_entity_type.py +92 -87
  1420. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +41 -36
  1421. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +8 -3
  1422. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +8 -3
  1423. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +5 -0
  1424. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +8 -3
  1425. pulumi_gcp/vertex/ai_feature_store_iam_member.py +8 -3
  1426. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +5 -0
  1427. pulumi_gcp/vertex/ai_index.py +68 -63
  1428. pulumi_gcp/vertex/ai_index_endpoint.py +18 -13
  1429. pulumi_gcp/vertex/ai_metadata_store.py +12 -7
  1430. pulumi_gcp/vertex/ai_tensorboard.py +16 -11
  1431. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +5 -0
  1432. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +5 -0
  1433. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +5 -0
  1434. pulumi_gcp/vertex/get_ai_index.py +5 -0
  1435. pulumi_gcp/vertex/outputs.py +7 -2
  1436. pulumi_gcp/vmwareengine/_inputs.py +290 -0
  1437. pulumi_gcp/vmwareengine/cluster.py +74 -69
  1438. pulumi_gcp/vmwareengine/external_access_rule.py +61 -56
  1439. pulumi_gcp/vmwareengine/external_address.py +27 -22
  1440. pulumi_gcp/vmwareengine/get_cluster.py +5 -0
  1441. pulumi_gcp/vmwareengine/get_external_access_rule.py +5 -0
  1442. pulumi_gcp/vmwareengine/get_external_address.py +5 -0
  1443. pulumi_gcp/vmwareengine/get_network.py +5 -0
  1444. pulumi_gcp/vmwareengine/get_network_peering.py +5 -0
  1445. pulumi_gcp/vmwareengine/get_network_policy.py +5 -0
  1446. pulumi_gcp/vmwareengine/get_nsx_credentials.py +5 -0
  1447. pulumi_gcp/vmwareengine/get_private_cloud.py +5 -0
  1448. pulumi_gcp/vmwareengine/get_subnet.py +5 -0
  1449. pulumi_gcp/vmwareengine/get_vcenter_credentials.py +5 -0
  1450. pulumi_gcp/vmwareengine/network.py +7 -2
  1451. pulumi_gcp/vmwareengine/network_peering.py +5 -0
  1452. pulumi_gcp/vmwareengine/network_policy.py +27 -22
  1453. pulumi_gcp/vmwareengine/outputs.py +5 -0
  1454. pulumi_gcp/vmwareengine/private_cloud.py +67 -62
  1455. pulumi_gcp/vmwareengine/subnet.py +29 -24
  1456. pulumi_gcp/vpcaccess/_inputs.py +22 -0
  1457. pulumi_gcp/vpcaccess/connector.py +16 -11
  1458. pulumi_gcp/vpcaccess/get_connector.py +5 -0
  1459. pulumi_gcp/vpcaccess/outputs.py +5 -0
  1460. pulumi_gcp/workbench/_inputs.py +319 -0
  1461. pulumi_gcp/workbench/get_instance_iam_policy.py +5 -0
  1462. pulumi_gcp/workbench/instance.py +144 -139
  1463. pulumi_gcp/workbench/instance_iam_binding.py +8 -3
  1464. pulumi_gcp/workbench/instance_iam_member.py +8 -3
  1465. pulumi_gcp/workbench/instance_iam_policy.py +5 -0
  1466. pulumi_gcp/workbench/outputs.py +5 -0
  1467. pulumi_gcp/workflows/workflow.py +5 -0
  1468. pulumi_gcp/workstations/_inputs.py +433 -0
  1469. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +5 -0
  1470. pulumi_gcp/workstations/get_workstation_iam_policy.py +5 -0
  1471. pulumi_gcp/workstations/outputs.py +5 -0
  1472. pulumi_gcp/workstations/workstation.py +19 -14
  1473. pulumi_gcp/workstations/workstation_cluster.py +35 -30
  1474. pulumi_gcp/workstations/workstation_config.py +251 -246
  1475. pulumi_gcp/workstations/workstation_config_iam_binding.py +8 -3
  1476. pulumi_gcp/workstations/workstation_config_iam_member.py +8 -3
  1477. pulumi_gcp/workstations/workstation_config_iam_policy.py +5 -0
  1478. pulumi_gcp/workstations/workstation_iam_binding.py +8 -3
  1479. pulumi_gcp/workstations/workstation_iam_member.py +8 -3
  1480. pulumi_gcp/workstations/workstation_iam_policy.py +5 -0
  1481. {pulumi_gcp-7.29.0a1719416802.dist-info → pulumi_gcp-7.30.0.dist-info}/METADATA +2 -1
  1482. pulumi_gcp-7.30.0.dist-info/RECORD +1605 -0
  1483. {pulumi_gcp-7.29.0a1719416802.dist-info → pulumi_gcp-7.30.0.dist-info}/WHEEL +1 -1
  1484. pulumi_gcp-7.29.0a1719416802.dist-info/RECORD +0 -1600
  1485. {pulumi_gcp-7.29.0a1719416802.dist-info → pulumi_gcp-7.30.0.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -16,6 +21,7 @@ __all__ = ['URLMapArgs', 'URLMap']
16
21
  @pulumi.input_type
17
22
  class URLMapArgs:
18
23
  def __init__(__self__, *,
24
+ default_custom_error_response_policy: Optional[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyArgs']] = None,
19
25
  default_route_action: Optional[pulumi.Input['URLMapDefaultRouteActionArgs']] = None,
20
26
  default_service: Optional[pulumi.Input[str]] = None,
21
27
  default_url_redirect: Optional[pulumi.Input['URLMapDefaultUrlRedirectArgs']] = None,
@@ -28,6 +34,15 @@ class URLMapArgs:
28
34
  tests: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapTestArgs']]]] = None):
29
35
  """
30
36
  The set of arguments for constructing a URLMap resource.
37
+ :param pulumi.Input['URLMapDefaultCustomErrorResponsePolicyArgs'] default_custom_error_response_policy: defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
38
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
39
+ For example, consider a UrlMap with the following configuration:
40
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
41
+ A RouteRule for /coming_soon/ is configured for the error code 404.
42
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
43
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
44
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
45
+ Structure is documented below.
31
46
  :param pulumi.Input['URLMapDefaultRouteActionArgs'] default_route_action: defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
32
47
  like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend.
33
48
  If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService
@@ -65,6 +80,8 @@ class URLMapArgs:
65
80
  tests per UrlMap.
66
81
  Structure is documented below.
67
82
  """
83
+ if default_custom_error_response_policy is not None:
84
+ pulumi.set(__self__, "default_custom_error_response_policy", default_custom_error_response_policy)
68
85
  if default_route_action is not None:
69
86
  pulumi.set(__self__, "default_route_action", default_route_action)
70
87
  if default_service is not None:
@@ -86,6 +103,26 @@ class URLMapArgs:
86
103
  if tests is not None:
87
104
  pulumi.set(__self__, "tests", tests)
88
105
 
106
+ @property
107
+ @pulumi.getter(name="defaultCustomErrorResponsePolicy")
108
+ def default_custom_error_response_policy(self) -> Optional[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyArgs']]:
109
+ """
110
+ defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
111
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
112
+ For example, consider a UrlMap with the following configuration:
113
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
114
+ A RouteRule for /coming_soon/ is configured for the error code 404.
115
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
116
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
117
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
118
+ Structure is documented below.
119
+ """
120
+ return pulumi.get(self, "default_custom_error_response_policy")
121
+
122
+ @default_custom_error_response_policy.setter
123
+ def default_custom_error_response_policy(self, value: Optional[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyArgs']]):
124
+ pulumi.set(self, "default_custom_error_response_policy", value)
125
+
89
126
  @property
90
127
  @pulumi.getter(name="defaultRouteAction")
91
128
  def default_route_action(self) -> Optional[pulumi.Input['URLMapDefaultRouteActionArgs']]:
@@ -237,6 +274,7 @@ class URLMapArgs:
237
274
  class _URLMapState:
238
275
  def __init__(__self__, *,
239
276
  creation_timestamp: Optional[pulumi.Input[str]] = None,
277
+ default_custom_error_response_policy: Optional[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyArgs']] = None,
240
278
  default_route_action: Optional[pulumi.Input['URLMapDefaultRouteActionArgs']] = None,
241
279
  default_service: Optional[pulumi.Input[str]] = None,
242
280
  default_url_redirect: Optional[pulumi.Input['URLMapDefaultUrlRedirectArgs']] = None,
@@ -253,6 +291,15 @@ class _URLMapState:
253
291
  """
254
292
  Input properties used for looking up and filtering URLMap resources.
255
293
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
294
+ :param pulumi.Input['URLMapDefaultCustomErrorResponsePolicyArgs'] default_custom_error_response_policy: defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
295
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
296
+ For example, consider a UrlMap with the following configuration:
297
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
298
+ A RouteRule for /coming_soon/ is configured for the error code 404.
299
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
300
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
301
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
302
+ Structure is documented below.
256
303
  :param pulumi.Input['URLMapDefaultRouteActionArgs'] default_route_action: defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
257
304
  like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend.
258
305
  If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService
@@ -296,6 +343,8 @@ class _URLMapState:
296
343
  """
297
344
  if creation_timestamp is not None:
298
345
  pulumi.set(__self__, "creation_timestamp", creation_timestamp)
346
+ if default_custom_error_response_policy is not None:
347
+ pulumi.set(__self__, "default_custom_error_response_policy", default_custom_error_response_policy)
299
348
  if default_route_action is not None:
300
349
  pulumi.set(__self__, "default_route_action", default_route_action)
301
350
  if default_service is not None:
@@ -335,6 +384,26 @@ class _URLMapState:
335
384
  def creation_timestamp(self, value: Optional[pulumi.Input[str]]):
336
385
  pulumi.set(self, "creation_timestamp", value)
337
386
 
387
+ @property
388
+ @pulumi.getter(name="defaultCustomErrorResponsePolicy")
389
+ def default_custom_error_response_policy(self) -> Optional[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyArgs']]:
390
+ """
391
+ defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
392
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
393
+ For example, consider a UrlMap with the following configuration:
394
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
395
+ A RouteRule for /coming_soon/ is configured for the error code 404.
396
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
397
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
398
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
399
+ Structure is documented below.
400
+ """
401
+ return pulumi.get(self, "default_custom_error_response_policy")
402
+
403
+ @default_custom_error_response_policy.setter
404
+ def default_custom_error_response_policy(self, value: Optional[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyArgs']]):
405
+ pulumi.set(self, "default_custom_error_response_policy", value)
406
+
338
407
  @property
339
408
  @pulumi.getter(name="defaultRouteAction")
340
409
  def default_route_action(self) -> Optional[pulumi.Input['URLMapDefaultRouteActionArgs']]:
@@ -524,16 +593,17 @@ class URLMap(pulumi.CustomResource):
524
593
  def __init__(__self__,
525
594
  resource_name: str,
526
595
  opts: Optional[pulumi.ResourceOptions] = None,
527
- default_route_action: Optional[pulumi.Input[pulumi.InputType['URLMapDefaultRouteActionArgs']]] = None,
596
+ default_custom_error_response_policy: Optional[pulumi.Input[Union['URLMapDefaultCustomErrorResponsePolicyArgs', 'URLMapDefaultCustomErrorResponsePolicyArgsDict']]] = None,
597
+ default_route_action: Optional[pulumi.Input[Union['URLMapDefaultRouteActionArgs', 'URLMapDefaultRouteActionArgsDict']]] = None,
528
598
  default_service: Optional[pulumi.Input[str]] = None,
529
- default_url_redirect: Optional[pulumi.Input[pulumi.InputType['URLMapDefaultUrlRedirectArgs']]] = None,
599
+ default_url_redirect: Optional[pulumi.Input[Union['URLMapDefaultUrlRedirectArgs', 'URLMapDefaultUrlRedirectArgsDict']]] = None,
530
600
  description: Optional[pulumi.Input[str]] = None,
531
- header_action: Optional[pulumi.Input[pulumi.InputType['URLMapHeaderActionArgs']]] = None,
532
- host_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapHostRuleArgs']]]]] = None,
601
+ header_action: Optional[pulumi.Input[Union['URLMapHeaderActionArgs', 'URLMapHeaderActionArgsDict']]] = None,
602
+ host_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapHostRuleArgs', 'URLMapHostRuleArgsDict']]]]] = None,
533
603
  name: Optional[pulumi.Input[str]] = None,
534
- path_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapPathMatcherArgs']]]]] = None,
604
+ path_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapPathMatcherArgs', 'URLMapPathMatcherArgsDict']]]]] = None,
535
605
  project: Optional[pulumi.Input[str]] = None,
536
- tests: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapTestArgs']]]]] = None,
606
+ tests: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapTestArgs', 'URLMapTestArgsDict']]]]] = None,
537
607
  __props__=None):
538
608
  """
539
609
  UrlMaps are used to route requests to a backend service based on rules
@@ -574,44 +644,44 @@ class URLMap(pulumi.CustomResource):
574
644
  description="a description",
575
645
  default_service=static.id,
576
646
  host_rules=[
577
- gcp.compute.URLMapHostRuleArgs(
578
- hosts=["mysite.com"],
579
- path_matcher="mysite",
580
- ),
581
- gcp.compute.URLMapHostRuleArgs(
582
- hosts=["myothersite.com"],
583
- path_matcher="otherpaths",
584
- ),
647
+ {
648
+ "hosts": ["mysite.com"],
649
+ "pathMatcher": "mysite",
650
+ },
651
+ {
652
+ "hosts": ["myothersite.com"],
653
+ "pathMatcher": "otherpaths",
654
+ },
585
655
  ],
586
656
  path_matchers=[
587
- gcp.compute.URLMapPathMatcherArgs(
588
- name="mysite",
589
- default_service=static.id,
590
- path_rules=[
591
- gcp.compute.URLMapPathMatcherPathRuleArgs(
592
- paths=["/home"],
593
- service=static.id,
594
- ),
595
- gcp.compute.URLMapPathMatcherPathRuleArgs(
596
- paths=["/login"],
597
- service=login.id,
598
- ),
599
- gcp.compute.URLMapPathMatcherPathRuleArgs(
600
- paths=["/static"],
601
- service=static.id,
602
- ),
657
+ {
658
+ "name": "mysite",
659
+ "defaultService": static.id,
660
+ "pathRules": [
661
+ {
662
+ "paths": ["/home"],
663
+ "service": static.id,
664
+ },
665
+ {
666
+ "paths": ["/login"],
667
+ "service": login.id,
668
+ },
669
+ {
670
+ "paths": ["/static"],
671
+ "service": static.id,
672
+ },
603
673
  ],
604
- ),
605
- gcp.compute.URLMapPathMatcherArgs(
606
- name="otherpaths",
607
- default_service=static.id,
608
- ),
674
+ },
675
+ {
676
+ "name": "otherpaths",
677
+ "defaultService": static.id,
678
+ },
609
679
  ],
610
- tests=[gcp.compute.URLMapTestArgs(
611
- service=static.id,
612
- host="example.com",
613
- path="/home",
614
- )])
680
+ tests=[{
681
+ "service": static.id,
682
+ "host": "example.com",
683
+ "path": "/home",
684
+ }])
615
685
  ```
616
686
  ### Url Map Traffic Director Route
617
687
 
@@ -621,9 +691,9 @@ class URLMap(pulumi.CustomResource):
621
691
 
622
692
  default = gcp.compute.HealthCheck("default",
623
693
  name="health-check",
624
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
625
- port=80,
626
- ))
694
+ http_health_check={
695
+ "port": 80,
696
+ })
627
697
  home = gcp.compute.BackendService("home",
628
698
  name="home",
629
699
  port_name="http",
@@ -635,63 +705,63 @@ class URLMap(pulumi.CustomResource):
635
705
  name="urlmap",
636
706
  description="a description",
637
707
  default_service=home.id,
638
- host_rules=[gcp.compute.URLMapHostRuleArgs(
639
- hosts=["mysite.com"],
640
- path_matcher="allpaths",
641
- )],
642
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
643
- name="allpaths",
644
- default_service=home.id,
645
- route_rules=[gcp.compute.URLMapPathMatcherRouteRuleArgs(
646
- priority=1,
647
- header_action=gcp.compute.URLMapPathMatcherRouteRuleHeaderActionArgs(
648
- request_headers_to_removes=["RemoveMe2"],
649
- request_headers_to_adds=[gcp.compute.URLMapPathMatcherRouteRuleHeaderActionRequestHeadersToAddArgs(
650
- header_name="AddSomethingElse",
651
- header_value="MyOtherValue",
652
- replace=True,
653
- )],
654
- response_headers_to_removes=["RemoveMe3"],
655
- response_headers_to_adds=[gcp.compute.URLMapPathMatcherRouteRuleHeaderActionResponseHeadersToAddArgs(
656
- header_name="AddMe",
657
- header_value="MyValue",
658
- replace=False,
659
- )],
660
- ),
661
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
662
- full_path_match="a full path",
663
- header_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs(
664
- header_name="someheader",
665
- exact_match="match this exactly",
666
- invert_match=True,
667
- )],
668
- ignore_case=True,
669
- metadata_filters=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleMetadataFilterArgs(
670
- filter_match_criteria="MATCH_ANY",
671
- filter_labels=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabelArgs(
672
- name="PLANET",
673
- value="MARS",
674
- )],
675
- )],
676
- query_parameter_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs(
677
- name="a query parameter",
678
- present_match=True,
679
- )],
680
- )],
681
- url_redirect=gcp.compute.URLMapPathMatcherRouteRuleUrlRedirectArgs(
682
- host_redirect="A host",
683
- https_redirect=False,
684
- path_redirect="some/path",
685
- redirect_response_code="TEMPORARY_REDIRECT",
686
- strip_query=True,
687
- ),
688
- )],
689
- )],
690
- tests=[gcp.compute.URLMapTestArgs(
691
- service=home.id,
692
- host="hi.com",
693
- path="/home",
694
- )])
708
+ host_rules=[{
709
+ "hosts": ["mysite.com"],
710
+ "pathMatcher": "allpaths",
711
+ }],
712
+ path_matchers=[{
713
+ "name": "allpaths",
714
+ "defaultService": home.id,
715
+ "routeRules": [{
716
+ "priority": 1,
717
+ "headerAction": {
718
+ "requestHeadersToRemoves": ["RemoveMe2"],
719
+ "requestHeadersToAdds": [{
720
+ "headerName": "AddSomethingElse",
721
+ "headerValue": "MyOtherValue",
722
+ "replace": True,
723
+ }],
724
+ "responseHeadersToRemoves": ["RemoveMe3"],
725
+ "responseHeadersToAdds": [{
726
+ "headerName": "AddMe",
727
+ "headerValue": "MyValue",
728
+ "replace": False,
729
+ }],
730
+ },
731
+ "matchRules": [{
732
+ "fullPathMatch": "a full path",
733
+ "headerMatches": [{
734
+ "headerName": "someheader",
735
+ "exactMatch": "match this exactly",
736
+ "invertMatch": True,
737
+ }],
738
+ "ignoreCase": True,
739
+ "metadataFilters": [{
740
+ "filterMatchCriteria": "MATCH_ANY",
741
+ "filterLabels": [{
742
+ "name": "PLANET",
743
+ "value": "MARS",
744
+ }],
745
+ }],
746
+ "queryParameterMatches": [{
747
+ "name": "a query parameter",
748
+ "presentMatch": True,
749
+ }],
750
+ }],
751
+ "urlRedirect": {
752
+ "hostRedirect": "A host",
753
+ "httpsRedirect": False,
754
+ "pathRedirect": "some/path",
755
+ "redirectResponseCode": "TEMPORARY_REDIRECT",
756
+ "stripQuery": True,
757
+ },
758
+ }],
759
+ }],
760
+ tests=[{
761
+ "service": home.id,
762
+ "host": "hi.com",
763
+ "path": "/home",
764
+ }])
695
765
  ```
696
766
  ### Url Map Traffic Director Route Partial
697
767
 
@@ -701,9 +771,9 @@ class URLMap(pulumi.CustomResource):
701
771
 
702
772
  default = gcp.compute.HealthCheck("default",
703
773
  name="health-check",
704
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
705
- port=80,
706
- ))
774
+ http_health_check={
775
+ "port": 80,
776
+ })
707
777
  home = gcp.compute.BackendService("home",
708
778
  name="home",
709
779
  port_name="http",
@@ -715,34 +785,34 @@ class URLMap(pulumi.CustomResource):
715
785
  name="urlmap",
716
786
  description="a description",
717
787
  default_service=home.id,
718
- host_rules=[gcp.compute.URLMapHostRuleArgs(
719
- hosts=["mysite.com"],
720
- path_matcher="allpaths",
721
- )],
722
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
723
- name="allpaths",
724
- default_service=home.id,
725
- route_rules=[gcp.compute.URLMapPathMatcherRouteRuleArgs(
726
- priority=1,
727
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
728
- prefix_match="/someprefix",
729
- header_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs(
730
- header_name="someheader",
731
- exact_match="match this exactly",
732
- invert_match=True,
733
- )],
734
- )],
735
- url_redirect=gcp.compute.URLMapPathMatcherRouteRuleUrlRedirectArgs(
736
- path_redirect="some/path",
737
- redirect_response_code="TEMPORARY_REDIRECT",
738
- ),
739
- )],
740
- )],
741
- tests=[gcp.compute.URLMapTestArgs(
742
- service=home.id,
743
- host="hi.com",
744
- path="/home",
745
- )])
788
+ host_rules=[{
789
+ "hosts": ["mysite.com"],
790
+ "pathMatcher": "allpaths",
791
+ }],
792
+ path_matchers=[{
793
+ "name": "allpaths",
794
+ "defaultService": home.id,
795
+ "routeRules": [{
796
+ "priority": 1,
797
+ "matchRules": [{
798
+ "prefixMatch": "/someprefix",
799
+ "headerMatches": [{
800
+ "headerName": "someheader",
801
+ "exactMatch": "match this exactly",
802
+ "invertMatch": True,
803
+ }],
804
+ }],
805
+ "urlRedirect": {
806
+ "pathRedirect": "some/path",
807
+ "redirectResponseCode": "TEMPORARY_REDIRECT",
808
+ },
809
+ }],
810
+ }],
811
+ tests=[{
812
+ "service": home.id,
813
+ "host": "hi.com",
814
+ "path": "/home",
815
+ }])
746
816
  ```
747
817
  ### Url Map Traffic Director Path
748
818
 
@@ -752,9 +822,9 @@ class URLMap(pulumi.CustomResource):
752
822
 
753
823
  default = gcp.compute.HealthCheck("default",
754
824
  name="health-check",
755
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
756
- port=80,
757
- ))
825
+ http_health_check={
826
+ "port": 80,
827
+ })
758
828
  home = gcp.compute.BackendService("home",
759
829
  name="home",
760
830
  port_name="http",
@@ -766,86 +836,86 @@ class URLMap(pulumi.CustomResource):
766
836
  name="urlmap",
767
837
  description="a description",
768
838
  default_service=home.id,
769
- host_rules=[gcp.compute.URLMapHostRuleArgs(
770
- hosts=["mysite.com"],
771
- path_matcher="allpaths",
772
- )],
773
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
774
- name="allpaths",
775
- default_service=home.id,
776
- path_rules=[gcp.compute.URLMapPathMatcherPathRuleArgs(
777
- paths=["/home"],
778
- route_action=gcp.compute.URLMapPathMatcherPathRuleRouteActionArgs(
779
- cors_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionCorsPolicyArgs(
780
- allow_credentials=True,
781
- allow_headers=["Allowed content"],
782
- allow_methods=["GET"],
783
- allow_origin_regexes=["abc.*"],
784
- allow_origins=["Allowed origin"],
785
- expose_headers=["Exposed header"],
786
- max_age=30,
787
- disabled=False,
788
- ),
789
- fault_injection_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyArgs(
790
- abort=gcp.compute.URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbortArgs(
791
- http_status=234,
792
- percentage=5.6,
793
- ),
794
- delay=gcp.compute.URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayArgs(
795
- fixed_delay=gcp.compute.URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelayArgs(
796
- seconds="0",
797
- nanos=50000,
798
- ),
799
- percentage=7.8,
800
- ),
801
- ),
802
- request_mirror_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgs(
803
- backend_service=home.id,
804
- ),
805
- retry_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionRetryPolicyArgs(
806
- num_retries=4,
807
- per_try_timeout=gcp.compute.URLMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeoutArgs(
808
- seconds="30",
809
- ),
810
- retry_conditions=[
839
+ host_rules=[{
840
+ "hosts": ["mysite.com"],
841
+ "pathMatcher": "allpaths",
842
+ }],
843
+ path_matchers=[{
844
+ "name": "allpaths",
845
+ "defaultService": home.id,
846
+ "pathRules": [{
847
+ "paths": ["/home"],
848
+ "routeAction": {
849
+ "corsPolicy": {
850
+ "allowCredentials": True,
851
+ "allowHeaders": ["Allowed content"],
852
+ "allowMethods": ["GET"],
853
+ "allowOriginRegexes": ["abc.*"],
854
+ "allowOrigins": ["Allowed origin"],
855
+ "exposeHeaders": ["Exposed header"],
856
+ "maxAge": 30,
857
+ "disabled": False,
858
+ },
859
+ "faultInjectionPolicy": {
860
+ "abort": {
861
+ "httpStatus": 234,
862
+ "percentage": 5.6,
863
+ },
864
+ "delay": {
865
+ "fixedDelay": {
866
+ "seconds": "0",
867
+ "nanos": 50000,
868
+ },
869
+ "percentage": 7.8,
870
+ },
871
+ },
872
+ "requestMirrorPolicy": {
873
+ "backendService": home.id,
874
+ },
875
+ "retryPolicy": {
876
+ "numRetries": 4,
877
+ "perTryTimeout": {
878
+ "seconds": "30",
879
+ },
880
+ "retryConditions": [
811
881
  "5xx",
812
882
  "deadline-exceeded",
813
883
  ],
814
- ),
815
- timeout=gcp.compute.URLMapPathMatcherPathRuleRouteActionTimeoutArgs(
816
- seconds="20",
817
- nanos=750000000,
818
- ),
819
- url_rewrite=gcp.compute.URLMapPathMatcherPathRuleRouteActionUrlRewriteArgs(
820
- host_rewrite="dev.example.com",
821
- path_prefix_rewrite="/v1/api/",
822
- ),
823
- weighted_backend_services=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceArgs(
824
- backend_service=home.id,
825
- weight=400,
826
- header_action=gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionArgs(
827
- request_headers_to_removes=["RemoveMe"],
828
- request_headers_to_adds=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs(
829
- header_name="AddMe",
830
- header_value="MyValue",
831
- replace=True,
832
- )],
833
- response_headers_to_removes=["RemoveMe"],
834
- response_headers_to_adds=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs(
835
- header_name="AddMe",
836
- header_value="MyValue",
837
- replace=False,
838
- )],
839
- ),
840
- )],
841
- ),
842
- )],
843
- )],
844
- tests=[gcp.compute.URLMapTestArgs(
845
- service=home.id,
846
- host="hi.com",
847
- path="/home",
848
- )])
884
+ },
885
+ "timeout": {
886
+ "seconds": "20",
887
+ "nanos": 750000000,
888
+ },
889
+ "urlRewrite": {
890
+ "hostRewrite": "dev.example.com",
891
+ "pathPrefixRewrite": "/v1/api/",
892
+ },
893
+ "weightedBackendServices": [{
894
+ "backendService": home.id,
895
+ "weight": 400,
896
+ "headerAction": {
897
+ "requestHeadersToRemoves": ["RemoveMe"],
898
+ "requestHeadersToAdds": [{
899
+ "headerName": "AddMe",
900
+ "headerValue": "MyValue",
901
+ "replace": True,
902
+ }],
903
+ "responseHeadersToRemoves": ["RemoveMe"],
904
+ "responseHeadersToAdds": [{
905
+ "headerName": "AddMe",
906
+ "headerValue": "MyValue",
907
+ "replace": False,
908
+ }],
909
+ },
910
+ }],
911
+ },
912
+ }],
913
+ }],
914
+ tests=[{
915
+ "service": home.id,
916
+ "host": "hi.com",
917
+ "path": "/home",
918
+ }])
849
919
  ```
850
920
  ### Url Map Traffic Director Path Partial
851
921
 
@@ -855,9 +925,9 @@ class URLMap(pulumi.CustomResource):
855
925
 
856
926
  default = gcp.compute.HealthCheck("default",
857
927
  name="health-check",
858
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
859
- port=80,
860
- ))
928
+ http_health_check={
929
+ "port": 80,
930
+ })
861
931
  home = gcp.compute.BackendService("home",
862
932
  name="home",
863
933
  port_name="http",
@@ -869,52 +939,52 @@ class URLMap(pulumi.CustomResource):
869
939
  name="urlmap",
870
940
  description="a description",
871
941
  default_service=home.id,
872
- host_rules=[gcp.compute.URLMapHostRuleArgs(
873
- hosts=["mysite.com"],
874
- path_matcher="allpaths",
875
- )],
876
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
877
- name="allpaths",
878
- default_service=home.id,
879
- path_rules=[gcp.compute.URLMapPathMatcherPathRuleArgs(
880
- paths=["/home"],
881
- route_action=gcp.compute.URLMapPathMatcherPathRuleRouteActionArgs(
882
- cors_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionCorsPolicyArgs(
883
- allow_credentials=True,
884
- allow_headers=["Allowed content"],
885
- allow_methods=["GET"],
886
- allow_origin_regexes=["abc.*"],
887
- allow_origins=["Allowed origin"],
888
- expose_headers=["Exposed header"],
889
- max_age=30,
890
- disabled=False,
891
- ),
892
- weighted_backend_services=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceArgs(
893
- backend_service=home.id,
894
- weight=400,
895
- header_action=gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionArgs(
896
- request_headers_to_removes=["RemoveMe"],
897
- request_headers_to_adds=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs(
898
- header_name="AddMe",
899
- header_value="MyValue",
900
- replace=True,
901
- )],
902
- response_headers_to_removes=["RemoveMe"],
903
- response_headers_to_adds=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs(
904
- header_name="AddMe",
905
- header_value="MyValue",
906
- replace=False,
907
- )],
908
- ),
909
- )],
910
- ),
911
- )],
912
- )],
913
- tests=[gcp.compute.URLMapTestArgs(
914
- service=home.id,
915
- host="hi.com",
916
- path="/home",
917
- )])
942
+ host_rules=[{
943
+ "hosts": ["mysite.com"],
944
+ "pathMatcher": "allpaths",
945
+ }],
946
+ path_matchers=[{
947
+ "name": "allpaths",
948
+ "defaultService": home.id,
949
+ "pathRules": [{
950
+ "paths": ["/home"],
951
+ "routeAction": {
952
+ "corsPolicy": {
953
+ "allowCredentials": True,
954
+ "allowHeaders": ["Allowed content"],
955
+ "allowMethods": ["GET"],
956
+ "allowOriginRegexes": ["abc.*"],
957
+ "allowOrigins": ["Allowed origin"],
958
+ "exposeHeaders": ["Exposed header"],
959
+ "maxAge": 30,
960
+ "disabled": False,
961
+ },
962
+ "weightedBackendServices": [{
963
+ "backendService": home.id,
964
+ "weight": 400,
965
+ "headerAction": {
966
+ "requestHeadersToRemoves": ["RemoveMe"],
967
+ "requestHeadersToAdds": [{
968
+ "headerName": "AddMe",
969
+ "headerValue": "MyValue",
970
+ "replace": True,
971
+ }],
972
+ "responseHeadersToRemoves": ["RemoveMe"],
973
+ "responseHeadersToAdds": [{
974
+ "headerName": "AddMe",
975
+ "headerValue": "MyValue",
976
+ "replace": False,
977
+ }],
978
+ },
979
+ }],
980
+ },
981
+ }],
982
+ }],
983
+ tests=[{
984
+ "service": home.id,
985
+ "host": "hi.com",
986
+ "path": "/home",
987
+ }])
918
988
  ```
919
989
  ### Url Map Header Based Routing
920
990
 
@@ -949,40 +1019,40 @@ class URLMap(pulumi.CustomResource):
949
1019
  name="urlmap",
950
1020
  description="header-based routing example",
951
1021
  default_service=default.id,
952
- host_rules=[gcp.compute.URLMapHostRuleArgs(
953
- hosts=["*"],
954
- path_matcher="allpaths",
955
- )],
956
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
957
- name="allpaths",
958
- default_service=default.id,
959
- route_rules=[
960
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
961
- priority=1,
962
- service=service_a.id,
963
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
964
- prefix_match="/",
965
- ignore_case=True,
966
- header_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs(
967
- header_name="abtest",
968
- exact_match="a",
969
- )],
970
- )],
971
- ),
972
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
973
- priority=2,
974
- service=service_b.id,
975
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
976
- ignore_case=True,
977
- prefix_match="/",
978
- header_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs(
979
- header_name="abtest",
980
- exact_match="b",
981
- )],
982
- )],
983
- ),
1022
+ host_rules=[{
1023
+ "hosts": ["*"],
1024
+ "pathMatcher": "allpaths",
1025
+ }],
1026
+ path_matchers=[{
1027
+ "name": "allpaths",
1028
+ "defaultService": default.id,
1029
+ "routeRules": [
1030
+ {
1031
+ "priority": 1,
1032
+ "service": service_a.id,
1033
+ "matchRules": [{
1034
+ "prefixMatch": "/",
1035
+ "ignoreCase": True,
1036
+ "headerMatches": [{
1037
+ "headerName": "abtest",
1038
+ "exactMatch": "a",
1039
+ }],
1040
+ }],
1041
+ },
1042
+ {
1043
+ "priority": 2,
1044
+ "service": service_b.id,
1045
+ "matchRules": [{
1046
+ "ignoreCase": True,
1047
+ "prefixMatch": "/",
1048
+ "headerMatches": [{
1049
+ "headerName": "abtest",
1050
+ "exactMatch": "b",
1051
+ }],
1052
+ }],
1053
+ },
984
1054
  ],
985
- )])
1055
+ }])
986
1056
  ```
987
1057
  ### Url Map Parameter Based Routing
988
1058
 
@@ -1017,40 +1087,40 @@ class URLMap(pulumi.CustomResource):
1017
1087
  name="urlmap",
1018
1088
  description="parameter-based routing example",
1019
1089
  default_service=default.id,
1020
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1021
- hosts=["*"],
1022
- path_matcher="allpaths",
1023
- )],
1024
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1025
- name="allpaths",
1026
- default_service=default.id,
1027
- route_rules=[
1028
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1029
- priority=1,
1030
- service=service_a.id,
1031
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1032
- prefix_match="/",
1033
- ignore_case=True,
1034
- query_parameter_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs(
1035
- name="abtest",
1036
- exact_match="a",
1037
- )],
1038
- )],
1039
- ),
1040
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1041
- priority=2,
1042
- service=service_b.id,
1043
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1044
- ignore_case=True,
1045
- prefix_match="/",
1046
- query_parameter_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs(
1047
- name="abtest",
1048
- exact_match="b",
1049
- )],
1050
- )],
1051
- ),
1090
+ host_rules=[{
1091
+ "hosts": ["*"],
1092
+ "pathMatcher": "allpaths",
1093
+ }],
1094
+ path_matchers=[{
1095
+ "name": "allpaths",
1096
+ "defaultService": default.id,
1097
+ "routeRules": [
1098
+ {
1099
+ "priority": 1,
1100
+ "service": service_a.id,
1101
+ "matchRules": [{
1102
+ "prefixMatch": "/",
1103
+ "ignoreCase": True,
1104
+ "queryParameterMatches": [{
1105
+ "name": "abtest",
1106
+ "exactMatch": "a",
1107
+ }],
1108
+ }],
1109
+ },
1110
+ {
1111
+ "priority": 2,
1112
+ "service": service_b.id,
1113
+ "matchRules": [{
1114
+ "ignoreCase": True,
1115
+ "prefixMatch": "/",
1116
+ "queryParameterMatches": [{
1117
+ "name": "abtest",
1118
+ "exactMatch": "b",
1119
+ }],
1120
+ }],
1121
+ },
1052
1122
  ],
1053
- )])
1123
+ }])
1054
1124
  ```
1055
1125
  ### Url Map Path Template Match
1056
1126
 
@@ -1088,35 +1158,111 @@ class URLMap(pulumi.CustomResource):
1088
1158
  name="urlmap",
1089
1159
  description="a description",
1090
1160
  default_service=static.id,
1091
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1092
- hosts=["mysite.com"],
1093
- path_matcher="mysite",
1094
- )],
1095
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1096
- name="mysite",
1097
- default_service=static.id,
1098
- route_rules=[
1099
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1100
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1101
- path_template_match="/xyzwebservices/v2/xyz/users/{username=*}/carts/{cartid=**}",
1102
- )],
1103
- service=cart_backend.id,
1104
- priority=1,
1105
- route_action=gcp.compute.URLMapPathMatcherRouteRuleRouteActionArgs(
1106
- url_rewrite=gcp.compute.URLMapPathMatcherRouteRuleRouteActionUrlRewriteArgs(
1107
- path_template_rewrite="/{username}-{cartid}/",
1108
- ),
1109
- ),
1110
- ),
1111
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1112
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1113
- path_template_match="/xyzwebservices/v2/xyz/users/*/accountinfo/*",
1114
- )],
1115
- service=user_backend.id,
1116
- priority=2,
1117
- ),
1161
+ host_rules=[{
1162
+ "hosts": ["mysite.com"],
1163
+ "pathMatcher": "mysite",
1164
+ }],
1165
+ path_matchers=[{
1166
+ "name": "mysite",
1167
+ "defaultService": static.id,
1168
+ "routeRules": [
1169
+ {
1170
+ "matchRules": [{
1171
+ "pathTemplateMatch": "/xyzwebservices/v2/xyz/users/{username=*}/carts/{cartid=**}",
1172
+ }],
1173
+ "service": cart_backend.id,
1174
+ "priority": 1,
1175
+ "routeAction": {
1176
+ "urlRewrite": {
1177
+ "pathTemplateRewrite": "/{username}-{cartid}/",
1178
+ },
1179
+ },
1180
+ },
1181
+ {
1182
+ "matchRules": [{
1183
+ "pathTemplateMatch": "/xyzwebservices/v2/xyz/users/*/accountinfo/*",
1184
+ }],
1185
+ "service": user_backend.id,
1186
+ "priority": 2,
1187
+ },
1118
1188
  ],
1119
- )])
1189
+ }])
1190
+ ```
1191
+ ### Url Map Custom Error Response Policy
1192
+
1193
+ ```python
1194
+ import pulumi
1195
+ import pulumi_gcp as gcp
1196
+
1197
+ default = gcp.compute.HttpHealthCheck("default",
1198
+ name="health-check",
1199
+ request_path="/",
1200
+ check_interval_sec=1,
1201
+ timeout_sec=1)
1202
+ example = gcp.compute.BackendService("example",
1203
+ name="login",
1204
+ port_name="http",
1205
+ protocol="HTTP",
1206
+ timeout_sec=10,
1207
+ load_balancing_scheme="EXTERNAL_MANAGED",
1208
+ health_checks=default.id)
1209
+ error_bucket = gcp.storage.Bucket("error",
1210
+ name="static-asset-bucket",
1211
+ location="US")
1212
+ error = gcp.compute.BackendBucket("error",
1213
+ name="error-backend-bucket",
1214
+ bucket_name=error_bucket.name,
1215
+ enable_cdn=True)
1216
+ urlmap = gcp.compute.URLMap("urlmap",
1217
+ name="urlmap",
1218
+ description="a description",
1219
+ default_service=example.id,
1220
+ default_custom_error_response_policy={
1221
+ "errorResponseRules": [{
1222
+ "matchResponseCodes": ["5xx"],
1223
+ "path": "/*",
1224
+ "overrideResponseCode": 502,
1225
+ }],
1226
+ "errorService": error.id,
1227
+ },
1228
+ host_rules=[{
1229
+ "hosts": ["mysite.com"],
1230
+ "pathMatcher": "mysite",
1231
+ }],
1232
+ path_matchers=[{
1233
+ "name": "mysite",
1234
+ "defaultService": example.id,
1235
+ "defaultCustomErrorResponsePolicy": {
1236
+ "errorResponseRules": [
1237
+ {
1238
+ "matchResponseCodes": [
1239
+ "4xx",
1240
+ "5xx",
1241
+ ],
1242
+ "path": "/login",
1243
+ "overrideResponseCode": 404,
1244
+ },
1245
+ {
1246
+ "matchResponseCodes": ["503"],
1247
+ "path": "/example",
1248
+ "overrideResponseCode": 502,
1249
+ },
1250
+ ],
1251
+ "errorService": error.id,
1252
+ },
1253
+ "pathRules": [{
1254
+ "paths": ["/*"],
1255
+ "service": example.id,
1256
+ "customErrorResponsePolicy": {
1257
+ "errorResponseRules": [{
1258
+ "matchResponseCodes": ["4xx"],
1259
+ "path": "/register",
1260
+ "overrideResponseCode": 401,
1261
+ }],
1262
+ "errorService": error.id,
1263
+ },
1264
+ }],
1265
+ }])
1120
1266
  ```
1121
1267
 
1122
1268
  ## Import
@@ -1145,24 +1291,33 @@ class URLMap(pulumi.CustomResource):
1145
1291
 
1146
1292
  :param str resource_name: The name of the resource.
1147
1293
  :param pulumi.ResourceOptions opts: Options for the resource.
1148
- :param pulumi.Input[pulumi.InputType['URLMapDefaultRouteActionArgs']] default_route_action: defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
1294
+ :param pulumi.Input[Union['URLMapDefaultCustomErrorResponsePolicyArgs', 'URLMapDefaultCustomErrorResponsePolicyArgsDict']] default_custom_error_response_policy: defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
1295
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
1296
+ For example, consider a UrlMap with the following configuration:
1297
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
1298
+ A RouteRule for /coming_soon/ is configured for the error code 404.
1299
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
1300
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
1301
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
1302
+ Structure is documented below.
1303
+ :param pulumi.Input[Union['URLMapDefaultRouteActionArgs', 'URLMapDefaultRouteActionArgsDict']] default_route_action: defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
1149
1304
  like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend.
1150
1305
  If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService
1151
1306
  is set, defaultRouteAction cannot contain any weightedBackendServices.
1152
1307
  Only one of defaultRouteAction or defaultUrlRedirect must be set.
1153
1308
  Structure is documented below.
1154
1309
  :param pulumi.Input[str] default_service: The backend service or backend bucket to use when none of the given rules match.
1155
- :param pulumi.Input[pulumi.InputType['URLMapDefaultUrlRedirectArgs']] default_url_redirect: When none of the specified hostRules match, the request is redirected to a URL specified
1310
+ :param pulumi.Input[Union['URLMapDefaultUrlRedirectArgs', 'URLMapDefaultUrlRedirectArgsDict']] default_url_redirect: When none of the specified hostRules match, the request is redirected to a URL specified
1156
1311
  by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
1157
1312
  defaultRouteAction must not be set.
1158
1313
  Structure is documented below.
1159
1314
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create
1160
1315
  the resource.
1161
- :param pulumi.Input[pulumi.InputType['URLMapHeaderActionArgs']] header_action: Specifies changes to request and response headers that need to take effect for
1316
+ :param pulumi.Input[Union['URLMapHeaderActionArgs', 'URLMapHeaderActionArgsDict']] header_action: Specifies changes to request and response headers that need to take effect for
1162
1317
  the selected backendService. The headerAction specified here take effect after
1163
1318
  headerAction specified under pathMatcher.
1164
1319
  Structure is documented below.
1165
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapHostRuleArgs']]]] host_rules: The list of HostRules to use against the URL.
1320
+ :param pulumi.Input[Sequence[pulumi.Input[Union['URLMapHostRuleArgs', 'URLMapHostRuleArgsDict']]]] host_rules: The list of HostRules to use against the URL.
1166
1321
  Structure is documented below.
1167
1322
  :param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is created. The
1168
1323
  name must be 1-63 characters long, and comply with RFC1035. Specifically, the
@@ -1173,11 +1328,11 @@ class URLMap(pulumi.CustomResource):
1173
1328
 
1174
1329
 
1175
1330
  - - -
1176
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapPathMatcherArgs']]]] path_matchers: The list of named PathMatchers to use against the URL.
1331
+ :param pulumi.Input[Sequence[pulumi.Input[Union['URLMapPathMatcherArgs', 'URLMapPathMatcherArgsDict']]]] path_matchers: The list of named PathMatchers to use against the URL.
1177
1332
  Structure is documented below.
1178
1333
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1179
1334
  If it is not provided, the provider project is used.
1180
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapTestArgs']]]] tests: The list of expected URL mapping tests. Request to update this UrlMap will
1335
+ :param pulumi.Input[Sequence[pulumi.Input[Union['URLMapTestArgs', 'URLMapTestArgsDict']]]] tests: The list of expected URL mapping tests. Request to update this UrlMap will
1181
1336
  succeed only if all of the test cases pass. You can specify a maximum of 100
1182
1337
  tests per UrlMap.
1183
1338
  Structure is documented below.
@@ -1227,44 +1382,44 @@ class URLMap(pulumi.CustomResource):
1227
1382
  description="a description",
1228
1383
  default_service=static.id,
1229
1384
  host_rules=[
1230
- gcp.compute.URLMapHostRuleArgs(
1231
- hosts=["mysite.com"],
1232
- path_matcher="mysite",
1233
- ),
1234
- gcp.compute.URLMapHostRuleArgs(
1235
- hosts=["myothersite.com"],
1236
- path_matcher="otherpaths",
1237
- ),
1385
+ {
1386
+ "hosts": ["mysite.com"],
1387
+ "pathMatcher": "mysite",
1388
+ },
1389
+ {
1390
+ "hosts": ["myothersite.com"],
1391
+ "pathMatcher": "otherpaths",
1392
+ },
1238
1393
  ],
1239
1394
  path_matchers=[
1240
- gcp.compute.URLMapPathMatcherArgs(
1241
- name="mysite",
1242
- default_service=static.id,
1243
- path_rules=[
1244
- gcp.compute.URLMapPathMatcherPathRuleArgs(
1245
- paths=["/home"],
1246
- service=static.id,
1247
- ),
1248
- gcp.compute.URLMapPathMatcherPathRuleArgs(
1249
- paths=["/login"],
1250
- service=login.id,
1251
- ),
1252
- gcp.compute.URLMapPathMatcherPathRuleArgs(
1253
- paths=["/static"],
1254
- service=static.id,
1255
- ),
1395
+ {
1396
+ "name": "mysite",
1397
+ "defaultService": static.id,
1398
+ "pathRules": [
1399
+ {
1400
+ "paths": ["/home"],
1401
+ "service": static.id,
1402
+ },
1403
+ {
1404
+ "paths": ["/login"],
1405
+ "service": login.id,
1406
+ },
1407
+ {
1408
+ "paths": ["/static"],
1409
+ "service": static.id,
1410
+ },
1256
1411
  ],
1257
- ),
1258
- gcp.compute.URLMapPathMatcherArgs(
1259
- name="otherpaths",
1260
- default_service=static.id,
1261
- ),
1412
+ },
1413
+ {
1414
+ "name": "otherpaths",
1415
+ "defaultService": static.id,
1416
+ },
1262
1417
  ],
1263
- tests=[gcp.compute.URLMapTestArgs(
1264
- service=static.id,
1265
- host="example.com",
1266
- path="/home",
1267
- )])
1418
+ tests=[{
1419
+ "service": static.id,
1420
+ "host": "example.com",
1421
+ "path": "/home",
1422
+ }])
1268
1423
  ```
1269
1424
  ### Url Map Traffic Director Route
1270
1425
 
@@ -1274,9 +1429,9 @@ class URLMap(pulumi.CustomResource):
1274
1429
 
1275
1430
  default = gcp.compute.HealthCheck("default",
1276
1431
  name="health-check",
1277
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
1278
- port=80,
1279
- ))
1432
+ http_health_check={
1433
+ "port": 80,
1434
+ })
1280
1435
  home = gcp.compute.BackendService("home",
1281
1436
  name="home",
1282
1437
  port_name="http",
@@ -1288,63 +1443,63 @@ class URLMap(pulumi.CustomResource):
1288
1443
  name="urlmap",
1289
1444
  description="a description",
1290
1445
  default_service=home.id,
1291
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1292
- hosts=["mysite.com"],
1293
- path_matcher="allpaths",
1294
- )],
1295
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1296
- name="allpaths",
1297
- default_service=home.id,
1298
- route_rules=[gcp.compute.URLMapPathMatcherRouteRuleArgs(
1299
- priority=1,
1300
- header_action=gcp.compute.URLMapPathMatcherRouteRuleHeaderActionArgs(
1301
- request_headers_to_removes=["RemoveMe2"],
1302
- request_headers_to_adds=[gcp.compute.URLMapPathMatcherRouteRuleHeaderActionRequestHeadersToAddArgs(
1303
- header_name="AddSomethingElse",
1304
- header_value="MyOtherValue",
1305
- replace=True,
1306
- )],
1307
- response_headers_to_removes=["RemoveMe3"],
1308
- response_headers_to_adds=[gcp.compute.URLMapPathMatcherRouteRuleHeaderActionResponseHeadersToAddArgs(
1309
- header_name="AddMe",
1310
- header_value="MyValue",
1311
- replace=False,
1312
- )],
1313
- ),
1314
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1315
- full_path_match="a full path",
1316
- header_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs(
1317
- header_name="someheader",
1318
- exact_match="match this exactly",
1319
- invert_match=True,
1320
- )],
1321
- ignore_case=True,
1322
- metadata_filters=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleMetadataFilterArgs(
1323
- filter_match_criteria="MATCH_ANY",
1324
- filter_labels=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleMetadataFilterFilterLabelArgs(
1325
- name="PLANET",
1326
- value="MARS",
1327
- )],
1328
- )],
1329
- query_parameter_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs(
1330
- name="a query parameter",
1331
- present_match=True,
1332
- )],
1333
- )],
1334
- url_redirect=gcp.compute.URLMapPathMatcherRouteRuleUrlRedirectArgs(
1335
- host_redirect="A host",
1336
- https_redirect=False,
1337
- path_redirect="some/path",
1338
- redirect_response_code="TEMPORARY_REDIRECT",
1339
- strip_query=True,
1340
- ),
1341
- )],
1342
- )],
1343
- tests=[gcp.compute.URLMapTestArgs(
1344
- service=home.id,
1345
- host="hi.com",
1346
- path="/home",
1347
- )])
1446
+ host_rules=[{
1447
+ "hosts": ["mysite.com"],
1448
+ "pathMatcher": "allpaths",
1449
+ }],
1450
+ path_matchers=[{
1451
+ "name": "allpaths",
1452
+ "defaultService": home.id,
1453
+ "routeRules": [{
1454
+ "priority": 1,
1455
+ "headerAction": {
1456
+ "requestHeadersToRemoves": ["RemoveMe2"],
1457
+ "requestHeadersToAdds": [{
1458
+ "headerName": "AddSomethingElse",
1459
+ "headerValue": "MyOtherValue",
1460
+ "replace": True,
1461
+ }],
1462
+ "responseHeadersToRemoves": ["RemoveMe3"],
1463
+ "responseHeadersToAdds": [{
1464
+ "headerName": "AddMe",
1465
+ "headerValue": "MyValue",
1466
+ "replace": False,
1467
+ }],
1468
+ },
1469
+ "matchRules": [{
1470
+ "fullPathMatch": "a full path",
1471
+ "headerMatches": [{
1472
+ "headerName": "someheader",
1473
+ "exactMatch": "match this exactly",
1474
+ "invertMatch": True,
1475
+ }],
1476
+ "ignoreCase": True,
1477
+ "metadataFilters": [{
1478
+ "filterMatchCriteria": "MATCH_ANY",
1479
+ "filterLabels": [{
1480
+ "name": "PLANET",
1481
+ "value": "MARS",
1482
+ }],
1483
+ }],
1484
+ "queryParameterMatches": [{
1485
+ "name": "a query parameter",
1486
+ "presentMatch": True,
1487
+ }],
1488
+ }],
1489
+ "urlRedirect": {
1490
+ "hostRedirect": "A host",
1491
+ "httpsRedirect": False,
1492
+ "pathRedirect": "some/path",
1493
+ "redirectResponseCode": "TEMPORARY_REDIRECT",
1494
+ "stripQuery": True,
1495
+ },
1496
+ }],
1497
+ }],
1498
+ tests=[{
1499
+ "service": home.id,
1500
+ "host": "hi.com",
1501
+ "path": "/home",
1502
+ }])
1348
1503
  ```
1349
1504
  ### Url Map Traffic Director Route Partial
1350
1505
 
@@ -1354,9 +1509,9 @@ class URLMap(pulumi.CustomResource):
1354
1509
 
1355
1510
  default = gcp.compute.HealthCheck("default",
1356
1511
  name="health-check",
1357
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
1358
- port=80,
1359
- ))
1512
+ http_health_check={
1513
+ "port": 80,
1514
+ })
1360
1515
  home = gcp.compute.BackendService("home",
1361
1516
  name="home",
1362
1517
  port_name="http",
@@ -1368,34 +1523,34 @@ class URLMap(pulumi.CustomResource):
1368
1523
  name="urlmap",
1369
1524
  description="a description",
1370
1525
  default_service=home.id,
1371
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1372
- hosts=["mysite.com"],
1373
- path_matcher="allpaths",
1374
- )],
1375
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1376
- name="allpaths",
1377
- default_service=home.id,
1378
- route_rules=[gcp.compute.URLMapPathMatcherRouteRuleArgs(
1379
- priority=1,
1380
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1381
- prefix_match="/someprefix",
1382
- header_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs(
1383
- header_name="someheader",
1384
- exact_match="match this exactly",
1385
- invert_match=True,
1386
- )],
1387
- )],
1388
- url_redirect=gcp.compute.URLMapPathMatcherRouteRuleUrlRedirectArgs(
1389
- path_redirect="some/path",
1390
- redirect_response_code="TEMPORARY_REDIRECT",
1391
- ),
1392
- )],
1393
- )],
1394
- tests=[gcp.compute.URLMapTestArgs(
1395
- service=home.id,
1396
- host="hi.com",
1397
- path="/home",
1398
- )])
1526
+ host_rules=[{
1527
+ "hosts": ["mysite.com"],
1528
+ "pathMatcher": "allpaths",
1529
+ }],
1530
+ path_matchers=[{
1531
+ "name": "allpaths",
1532
+ "defaultService": home.id,
1533
+ "routeRules": [{
1534
+ "priority": 1,
1535
+ "matchRules": [{
1536
+ "prefixMatch": "/someprefix",
1537
+ "headerMatches": [{
1538
+ "headerName": "someheader",
1539
+ "exactMatch": "match this exactly",
1540
+ "invertMatch": True,
1541
+ }],
1542
+ }],
1543
+ "urlRedirect": {
1544
+ "pathRedirect": "some/path",
1545
+ "redirectResponseCode": "TEMPORARY_REDIRECT",
1546
+ },
1547
+ }],
1548
+ }],
1549
+ tests=[{
1550
+ "service": home.id,
1551
+ "host": "hi.com",
1552
+ "path": "/home",
1553
+ }])
1399
1554
  ```
1400
1555
  ### Url Map Traffic Director Path
1401
1556
 
@@ -1405,9 +1560,9 @@ class URLMap(pulumi.CustomResource):
1405
1560
 
1406
1561
  default = gcp.compute.HealthCheck("default",
1407
1562
  name="health-check",
1408
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
1409
- port=80,
1410
- ))
1563
+ http_health_check={
1564
+ "port": 80,
1565
+ })
1411
1566
  home = gcp.compute.BackendService("home",
1412
1567
  name="home",
1413
1568
  port_name="http",
@@ -1419,86 +1574,86 @@ class URLMap(pulumi.CustomResource):
1419
1574
  name="urlmap",
1420
1575
  description="a description",
1421
1576
  default_service=home.id,
1422
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1423
- hosts=["mysite.com"],
1424
- path_matcher="allpaths",
1425
- )],
1426
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1427
- name="allpaths",
1428
- default_service=home.id,
1429
- path_rules=[gcp.compute.URLMapPathMatcherPathRuleArgs(
1430
- paths=["/home"],
1431
- route_action=gcp.compute.URLMapPathMatcherPathRuleRouteActionArgs(
1432
- cors_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionCorsPolicyArgs(
1433
- allow_credentials=True,
1434
- allow_headers=["Allowed content"],
1435
- allow_methods=["GET"],
1436
- allow_origin_regexes=["abc.*"],
1437
- allow_origins=["Allowed origin"],
1438
- expose_headers=["Exposed header"],
1439
- max_age=30,
1440
- disabled=False,
1441
- ),
1442
- fault_injection_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyArgs(
1443
- abort=gcp.compute.URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyAbortArgs(
1444
- http_status=234,
1445
- percentage=5.6,
1446
- ),
1447
- delay=gcp.compute.URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayArgs(
1448
- fixed_delay=gcp.compute.URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelayArgs(
1449
- seconds="0",
1450
- nanos=50000,
1451
- ),
1452
- percentage=7.8,
1453
- ),
1454
- ),
1455
- request_mirror_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgs(
1456
- backend_service=home.id,
1457
- ),
1458
- retry_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionRetryPolicyArgs(
1459
- num_retries=4,
1460
- per_try_timeout=gcp.compute.URLMapPathMatcherPathRuleRouteActionRetryPolicyPerTryTimeoutArgs(
1461
- seconds="30",
1462
- ),
1463
- retry_conditions=[
1577
+ host_rules=[{
1578
+ "hosts": ["mysite.com"],
1579
+ "pathMatcher": "allpaths",
1580
+ }],
1581
+ path_matchers=[{
1582
+ "name": "allpaths",
1583
+ "defaultService": home.id,
1584
+ "pathRules": [{
1585
+ "paths": ["/home"],
1586
+ "routeAction": {
1587
+ "corsPolicy": {
1588
+ "allowCredentials": True,
1589
+ "allowHeaders": ["Allowed content"],
1590
+ "allowMethods": ["GET"],
1591
+ "allowOriginRegexes": ["abc.*"],
1592
+ "allowOrigins": ["Allowed origin"],
1593
+ "exposeHeaders": ["Exposed header"],
1594
+ "maxAge": 30,
1595
+ "disabled": False,
1596
+ },
1597
+ "faultInjectionPolicy": {
1598
+ "abort": {
1599
+ "httpStatus": 234,
1600
+ "percentage": 5.6,
1601
+ },
1602
+ "delay": {
1603
+ "fixedDelay": {
1604
+ "seconds": "0",
1605
+ "nanos": 50000,
1606
+ },
1607
+ "percentage": 7.8,
1608
+ },
1609
+ },
1610
+ "requestMirrorPolicy": {
1611
+ "backendService": home.id,
1612
+ },
1613
+ "retryPolicy": {
1614
+ "numRetries": 4,
1615
+ "perTryTimeout": {
1616
+ "seconds": "30",
1617
+ },
1618
+ "retryConditions": [
1464
1619
  "5xx",
1465
1620
  "deadline-exceeded",
1466
1621
  ],
1467
- ),
1468
- timeout=gcp.compute.URLMapPathMatcherPathRuleRouteActionTimeoutArgs(
1469
- seconds="20",
1470
- nanos=750000000,
1471
- ),
1472
- url_rewrite=gcp.compute.URLMapPathMatcherPathRuleRouteActionUrlRewriteArgs(
1473
- host_rewrite="dev.example.com",
1474
- path_prefix_rewrite="/v1/api/",
1475
- ),
1476
- weighted_backend_services=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceArgs(
1477
- backend_service=home.id,
1478
- weight=400,
1479
- header_action=gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionArgs(
1480
- request_headers_to_removes=["RemoveMe"],
1481
- request_headers_to_adds=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs(
1482
- header_name="AddMe",
1483
- header_value="MyValue",
1484
- replace=True,
1485
- )],
1486
- response_headers_to_removes=["RemoveMe"],
1487
- response_headers_to_adds=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs(
1488
- header_name="AddMe",
1489
- header_value="MyValue",
1490
- replace=False,
1491
- )],
1492
- ),
1493
- )],
1494
- ),
1495
- )],
1496
- )],
1497
- tests=[gcp.compute.URLMapTestArgs(
1498
- service=home.id,
1499
- host="hi.com",
1500
- path="/home",
1501
- )])
1622
+ },
1623
+ "timeout": {
1624
+ "seconds": "20",
1625
+ "nanos": 750000000,
1626
+ },
1627
+ "urlRewrite": {
1628
+ "hostRewrite": "dev.example.com",
1629
+ "pathPrefixRewrite": "/v1/api/",
1630
+ },
1631
+ "weightedBackendServices": [{
1632
+ "backendService": home.id,
1633
+ "weight": 400,
1634
+ "headerAction": {
1635
+ "requestHeadersToRemoves": ["RemoveMe"],
1636
+ "requestHeadersToAdds": [{
1637
+ "headerName": "AddMe",
1638
+ "headerValue": "MyValue",
1639
+ "replace": True,
1640
+ }],
1641
+ "responseHeadersToRemoves": ["RemoveMe"],
1642
+ "responseHeadersToAdds": [{
1643
+ "headerName": "AddMe",
1644
+ "headerValue": "MyValue",
1645
+ "replace": False,
1646
+ }],
1647
+ },
1648
+ }],
1649
+ },
1650
+ }],
1651
+ }],
1652
+ tests=[{
1653
+ "service": home.id,
1654
+ "host": "hi.com",
1655
+ "path": "/home",
1656
+ }])
1502
1657
  ```
1503
1658
  ### Url Map Traffic Director Path Partial
1504
1659
 
@@ -1508,9 +1663,9 @@ class URLMap(pulumi.CustomResource):
1508
1663
 
1509
1664
  default = gcp.compute.HealthCheck("default",
1510
1665
  name="health-check",
1511
- http_health_check=gcp.compute.HealthCheckHttpHealthCheckArgs(
1512
- port=80,
1513
- ))
1666
+ http_health_check={
1667
+ "port": 80,
1668
+ })
1514
1669
  home = gcp.compute.BackendService("home",
1515
1670
  name="home",
1516
1671
  port_name="http",
@@ -1522,52 +1677,52 @@ class URLMap(pulumi.CustomResource):
1522
1677
  name="urlmap",
1523
1678
  description="a description",
1524
1679
  default_service=home.id,
1525
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1526
- hosts=["mysite.com"],
1527
- path_matcher="allpaths",
1528
- )],
1529
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1530
- name="allpaths",
1531
- default_service=home.id,
1532
- path_rules=[gcp.compute.URLMapPathMatcherPathRuleArgs(
1533
- paths=["/home"],
1534
- route_action=gcp.compute.URLMapPathMatcherPathRuleRouteActionArgs(
1535
- cors_policy=gcp.compute.URLMapPathMatcherPathRuleRouteActionCorsPolicyArgs(
1536
- allow_credentials=True,
1537
- allow_headers=["Allowed content"],
1538
- allow_methods=["GET"],
1539
- allow_origin_regexes=["abc.*"],
1540
- allow_origins=["Allowed origin"],
1541
- expose_headers=["Exposed header"],
1542
- max_age=30,
1543
- disabled=False,
1544
- ),
1545
- weighted_backend_services=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceArgs(
1546
- backend_service=home.id,
1547
- weight=400,
1548
- header_action=gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionArgs(
1549
- request_headers_to_removes=["RemoveMe"],
1550
- request_headers_to_adds=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs(
1551
- header_name="AddMe",
1552
- header_value="MyValue",
1553
- replace=True,
1554
- )],
1555
- response_headers_to_removes=["RemoveMe"],
1556
- response_headers_to_adds=[gcp.compute.URLMapPathMatcherPathRuleRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs(
1557
- header_name="AddMe",
1558
- header_value="MyValue",
1559
- replace=False,
1560
- )],
1561
- ),
1562
- )],
1563
- ),
1564
- )],
1565
- )],
1566
- tests=[gcp.compute.URLMapTestArgs(
1567
- service=home.id,
1568
- host="hi.com",
1569
- path="/home",
1570
- )])
1680
+ host_rules=[{
1681
+ "hosts": ["mysite.com"],
1682
+ "pathMatcher": "allpaths",
1683
+ }],
1684
+ path_matchers=[{
1685
+ "name": "allpaths",
1686
+ "defaultService": home.id,
1687
+ "pathRules": [{
1688
+ "paths": ["/home"],
1689
+ "routeAction": {
1690
+ "corsPolicy": {
1691
+ "allowCredentials": True,
1692
+ "allowHeaders": ["Allowed content"],
1693
+ "allowMethods": ["GET"],
1694
+ "allowOriginRegexes": ["abc.*"],
1695
+ "allowOrigins": ["Allowed origin"],
1696
+ "exposeHeaders": ["Exposed header"],
1697
+ "maxAge": 30,
1698
+ "disabled": False,
1699
+ },
1700
+ "weightedBackendServices": [{
1701
+ "backendService": home.id,
1702
+ "weight": 400,
1703
+ "headerAction": {
1704
+ "requestHeadersToRemoves": ["RemoveMe"],
1705
+ "requestHeadersToAdds": [{
1706
+ "headerName": "AddMe",
1707
+ "headerValue": "MyValue",
1708
+ "replace": True,
1709
+ }],
1710
+ "responseHeadersToRemoves": ["RemoveMe"],
1711
+ "responseHeadersToAdds": [{
1712
+ "headerName": "AddMe",
1713
+ "headerValue": "MyValue",
1714
+ "replace": False,
1715
+ }],
1716
+ },
1717
+ }],
1718
+ },
1719
+ }],
1720
+ }],
1721
+ tests=[{
1722
+ "service": home.id,
1723
+ "host": "hi.com",
1724
+ "path": "/home",
1725
+ }])
1571
1726
  ```
1572
1727
  ### Url Map Header Based Routing
1573
1728
 
@@ -1602,40 +1757,40 @@ class URLMap(pulumi.CustomResource):
1602
1757
  name="urlmap",
1603
1758
  description="header-based routing example",
1604
1759
  default_service=default.id,
1605
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1606
- hosts=["*"],
1607
- path_matcher="allpaths",
1608
- )],
1609
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1610
- name="allpaths",
1611
- default_service=default.id,
1612
- route_rules=[
1613
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1614
- priority=1,
1615
- service=service_a.id,
1616
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1617
- prefix_match="/",
1618
- ignore_case=True,
1619
- header_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs(
1620
- header_name="abtest",
1621
- exact_match="a",
1622
- )],
1623
- )],
1624
- ),
1625
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1626
- priority=2,
1627
- service=service_b.id,
1628
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1629
- ignore_case=True,
1630
- prefix_match="/",
1631
- header_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleHeaderMatchArgs(
1632
- header_name="abtest",
1633
- exact_match="b",
1634
- )],
1635
- )],
1636
- ),
1760
+ host_rules=[{
1761
+ "hosts": ["*"],
1762
+ "pathMatcher": "allpaths",
1763
+ }],
1764
+ path_matchers=[{
1765
+ "name": "allpaths",
1766
+ "defaultService": default.id,
1767
+ "routeRules": [
1768
+ {
1769
+ "priority": 1,
1770
+ "service": service_a.id,
1771
+ "matchRules": [{
1772
+ "prefixMatch": "/",
1773
+ "ignoreCase": True,
1774
+ "headerMatches": [{
1775
+ "headerName": "abtest",
1776
+ "exactMatch": "a",
1777
+ }],
1778
+ }],
1779
+ },
1780
+ {
1781
+ "priority": 2,
1782
+ "service": service_b.id,
1783
+ "matchRules": [{
1784
+ "ignoreCase": True,
1785
+ "prefixMatch": "/",
1786
+ "headerMatches": [{
1787
+ "headerName": "abtest",
1788
+ "exactMatch": "b",
1789
+ }],
1790
+ }],
1791
+ },
1637
1792
  ],
1638
- )])
1793
+ }])
1639
1794
  ```
1640
1795
  ### Url Map Parameter Based Routing
1641
1796
 
@@ -1670,40 +1825,40 @@ class URLMap(pulumi.CustomResource):
1670
1825
  name="urlmap",
1671
1826
  description="parameter-based routing example",
1672
1827
  default_service=default.id,
1673
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1674
- hosts=["*"],
1675
- path_matcher="allpaths",
1676
- )],
1677
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1678
- name="allpaths",
1679
- default_service=default.id,
1680
- route_rules=[
1681
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1682
- priority=1,
1683
- service=service_a.id,
1684
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1685
- prefix_match="/",
1686
- ignore_case=True,
1687
- query_parameter_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs(
1688
- name="abtest",
1689
- exact_match="a",
1690
- )],
1691
- )],
1692
- ),
1693
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1694
- priority=2,
1695
- service=service_b.id,
1696
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1697
- ignore_case=True,
1698
- prefix_match="/",
1699
- query_parameter_matches=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs(
1700
- name="abtest",
1701
- exact_match="b",
1702
- )],
1703
- )],
1704
- ),
1828
+ host_rules=[{
1829
+ "hosts": ["*"],
1830
+ "pathMatcher": "allpaths",
1831
+ }],
1832
+ path_matchers=[{
1833
+ "name": "allpaths",
1834
+ "defaultService": default.id,
1835
+ "routeRules": [
1836
+ {
1837
+ "priority": 1,
1838
+ "service": service_a.id,
1839
+ "matchRules": [{
1840
+ "prefixMatch": "/",
1841
+ "ignoreCase": True,
1842
+ "queryParameterMatches": [{
1843
+ "name": "abtest",
1844
+ "exactMatch": "a",
1845
+ }],
1846
+ }],
1847
+ },
1848
+ {
1849
+ "priority": 2,
1850
+ "service": service_b.id,
1851
+ "matchRules": [{
1852
+ "ignoreCase": True,
1853
+ "prefixMatch": "/",
1854
+ "queryParameterMatches": [{
1855
+ "name": "abtest",
1856
+ "exactMatch": "b",
1857
+ }],
1858
+ }],
1859
+ },
1705
1860
  ],
1706
- )])
1861
+ }])
1707
1862
  ```
1708
1863
  ### Url Map Path Template Match
1709
1864
 
@@ -1741,35 +1896,111 @@ class URLMap(pulumi.CustomResource):
1741
1896
  name="urlmap",
1742
1897
  description="a description",
1743
1898
  default_service=static.id,
1744
- host_rules=[gcp.compute.URLMapHostRuleArgs(
1745
- hosts=["mysite.com"],
1746
- path_matcher="mysite",
1747
- )],
1748
- path_matchers=[gcp.compute.URLMapPathMatcherArgs(
1749
- name="mysite",
1750
- default_service=static.id,
1751
- route_rules=[
1752
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1753
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1754
- path_template_match="/xyzwebservices/v2/xyz/users/{username=*}/carts/{cartid=**}",
1755
- )],
1756
- service=cart_backend.id,
1757
- priority=1,
1758
- route_action=gcp.compute.URLMapPathMatcherRouteRuleRouteActionArgs(
1759
- url_rewrite=gcp.compute.URLMapPathMatcherRouteRuleRouteActionUrlRewriteArgs(
1760
- path_template_rewrite="/{username}-{cartid}/",
1761
- ),
1762
- ),
1763
- ),
1764
- gcp.compute.URLMapPathMatcherRouteRuleArgs(
1765
- match_rules=[gcp.compute.URLMapPathMatcherRouteRuleMatchRuleArgs(
1766
- path_template_match="/xyzwebservices/v2/xyz/users/*/accountinfo/*",
1767
- )],
1768
- service=user_backend.id,
1769
- priority=2,
1770
- ),
1899
+ host_rules=[{
1900
+ "hosts": ["mysite.com"],
1901
+ "pathMatcher": "mysite",
1902
+ }],
1903
+ path_matchers=[{
1904
+ "name": "mysite",
1905
+ "defaultService": static.id,
1906
+ "routeRules": [
1907
+ {
1908
+ "matchRules": [{
1909
+ "pathTemplateMatch": "/xyzwebservices/v2/xyz/users/{username=*}/carts/{cartid=**}",
1910
+ }],
1911
+ "service": cart_backend.id,
1912
+ "priority": 1,
1913
+ "routeAction": {
1914
+ "urlRewrite": {
1915
+ "pathTemplateRewrite": "/{username}-{cartid}/",
1916
+ },
1917
+ },
1918
+ },
1919
+ {
1920
+ "matchRules": [{
1921
+ "pathTemplateMatch": "/xyzwebservices/v2/xyz/users/*/accountinfo/*",
1922
+ }],
1923
+ "service": user_backend.id,
1924
+ "priority": 2,
1925
+ },
1771
1926
  ],
1772
- )])
1927
+ }])
1928
+ ```
1929
+ ### Url Map Custom Error Response Policy
1930
+
1931
+ ```python
1932
+ import pulumi
1933
+ import pulumi_gcp as gcp
1934
+
1935
+ default = gcp.compute.HttpHealthCheck("default",
1936
+ name="health-check",
1937
+ request_path="/",
1938
+ check_interval_sec=1,
1939
+ timeout_sec=1)
1940
+ example = gcp.compute.BackendService("example",
1941
+ name="login",
1942
+ port_name="http",
1943
+ protocol="HTTP",
1944
+ timeout_sec=10,
1945
+ load_balancing_scheme="EXTERNAL_MANAGED",
1946
+ health_checks=default.id)
1947
+ error_bucket = gcp.storage.Bucket("error",
1948
+ name="static-asset-bucket",
1949
+ location="US")
1950
+ error = gcp.compute.BackendBucket("error",
1951
+ name="error-backend-bucket",
1952
+ bucket_name=error_bucket.name,
1953
+ enable_cdn=True)
1954
+ urlmap = gcp.compute.URLMap("urlmap",
1955
+ name="urlmap",
1956
+ description="a description",
1957
+ default_service=example.id,
1958
+ default_custom_error_response_policy={
1959
+ "errorResponseRules": [{
1960
+ "matchResponseCodes": ["5xx"],
1961
+ "path": "/*",
1962
+ "overrideResponseCode": 502,
1963
+ }],
1964
+ "errorService": error.id,
1965
+ },
1966
+ host_rules=[{
1967
+ "hosts": ["mysite.com"],
1968
+ "pathMatcher": "mysite",
1969
+ }],
1970
+ path_matchers=[{
1971
+ "name": "mysite",
1972
+ "defaultService": example.id,
1973
+ "defaultCustomErrorResponsePolicy": {
1974
+ "errorResponseRules": [
1975
+ {
1976
+ "matchResponseCodes": [
1977
+ "4xx",
1978
+ "5xx",
1979
+ ],
1980
+ "path": "/login",
1981
+ "overrideResponseCode": 404,
1982
+ },
1983
+ {
1984
+ "matchResponseCodes": ["503"],
1985
+ "path": "/example",
1986
+ "overrideResponseCode": 502,
1987
+ },
1988
+ ],
1989
+ "errorService": error.id,
1990
+ },
1991
+ "pathRules": [{
1992
+ "paths": ["/*"],
1993
+ "service": example.id,
1994
+ "customErrorResponsePolicy": {
1995
+ "errorResponseRules": [{
1996
+ "matchResponseCodes": ["4xx"],
1997
+ "path": "/register",
1998
+ "overrideResponseCode": 401,
1999
+ }],
2000
+ "errorService": error.id,
2001
+ },
2002
+ }],
2003
+ }])
1773
2004
  ```
1774
2005
 
1775
2006
  ## Import
@@ -1811,16 +2042,17 @@ class URLMap(pulumi.CustomResource):
1811
2042
  def _internal_init(__self__,
1812
2043
  resource_name: str,
1813
2044
  opts: Optional[pulumi.ResourceOptions] = None,
1814
- default_route_action: Optional[pulumi.Input[pulumi.InputType['URLMapDefaultRouteActionArgs']]] = None,
2045
+ default_custom_error_response_policy: Optional[pulumi.Input[Union['URLMapDefaultCustomErrorResponsePolicyArgs', 'URLMapDefaultCustomErrorResponsePolicyArgsDict']]] = None,
2046
+ default_route_action: Optional[pulumi.Input[Union['URLMapDefaultRouteActionArgs', 'URLMapDefaultRouteActionArgsDict']]] = None,
1815
2047
  default_service: Optional[pulumi.Input[str]] = None,
1816
- default_url_redirect: Optional[pulumi.Input[pulumi.InputType['URLMapDefaultUrlRedirectArgs']]] = None,
2048
+ default_url_redirect: Optional[pulumi.Input[Union['URLMapDefaultUrlRedirectArgs', 'URLMapDefaultUrlRedirectArgsDict']]] = None,
1817
2049
  description: Optional[pulumi.Input[str]] = None,
1818
- header_action: Optional[pulumi.Input[pulumi.InputType['URLMapHeaderActionArgs']]] = None,
1819
- host_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapHostRuleArgs']]]]] = None,
2050
+ header_action: Optional[pulumi.Input[Union['URLMapHeaderActionArgs', 'URLMapHeaderActionArgsDict']]] = None,
2051
+ host_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapHostRuleArgs', 'URLMapHostRuleArgsDict']]]]] = None,
1820
2052
  name: Optional[pulumi.Input[str]] = None,
1821
- path_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapPathMatcherArgs']]]]] = None,
2053
+ path_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapPathMatcherArgs', 'URLMapPathMatcherArgsDict']]]]] = None,
1822
2054
  project: Optional[pulumi.Input[str]] = None,
1823
- tests: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapTestArgs']]]]] = None,
2055
+ tests: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapTestArgs', 'URLMapTestArgsDict']]]]] = None,
1824
2056
  __props__=None):
1825
2057
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1826
2058
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -1830,6 +2062,7 @@ class URLMap(pulumi.CustomResource):
1830
2062
  raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1831
2063
  __props__ = URLMapArgs.__new__(URLMapArgs)
1832
2064
 
2065
+ __props__.__dict__["default_custom_error_response_policy"] = default_custom_error_response_policy
1833
2066
  __props__.__dict__["default_route_action"] = default_route_action
1834
2067
  __props__.__dict__["default_service"] = default_service
1835
2068
  __props__.__dict__["default_url_redirect"] = default_url_redirect
@@ -1855,19 +2088,20 @@ class URLMap(pulumi.CustomResource):
1855
2088
  id: pulumi.Input[str],
1856
2089
  opts: Optional[pulumi.ResourceOptions] = None,
1857
2090
  creation_timestamp: Optional[pulumi.Input[str]] = None,
1858
- default_route_action: Optional[pulumi.Input[pulumi.InputType['URLMapDefaultRouteActionArgs']]] = None,
2091
+ default_custom_error_response_policy: Optional[pulumi.Input[Union['URLMapDefaultCustomErrorResponsePolicyArgs', 'URLMapDefaultCustomErrorResponsePolicyArgsDict']]] = None,
2092
+ default_route_action: Optional[pulumi.Input[Union['URLMapDefaultRouteActionArgs', 'URLMapDefaultRouteActionArgsDict']]] = None,
1859
2093
  default_service: Optional[pulumi.Input[str]] = None,
1860
- default_url_redirect: Optional[pulumi.Input[pulumi.InputType['URLMapDefaultUrlRedirectArgs']]] = None,
2094
+ default_url_redirect: Optional[pulumi.Input[Union['URLMapDefaultUrlRedirectArgs', 'URLMapDefaultUrlRedirectArgsDict']]] = None,
1861
2095
  description: Optional[pulumi.Input[str]] = None,
1862
2096
  fingerprint: Optional[pulumi.Input[str]] = None,
1863
- header_action: Optional[pulumi.Input[pulumi.InputType['URLMapHeaderActionArgs']]] = None,
1864
- host_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapHostRuleArgs']]]]] = None,
2097
+ header_action: Optional[pulumi.Input[Union['URLMapHeaderActionArgs', 'URLMapHeaderActionArgsDict']]] = None,
2098
+ host_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapHostRuleArgs', 'URLMapHostRuleArgsDict']]]]] = None,
1865
2099
  map_id: Optional[pulumi.Input[int]] = None,
1866
2100
  name: Optional[pulumi.Input[str]] = None,
1867
- path_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapPathMatcherArgs']]]]] = None,
2101
+ path_matchers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapPathMatcherArgs', 'URLMapPathMatcherArgsDict']]]]] = None,
1868
2102
  project: Optional[pulumi.Input[str]] = None,
1869
2103
  self_link: Optional[pulumi.Input[str]] = None,
1870
- tests: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapTestArgs']]]]] = None) -> 'URLMap':
2104
+ tests: Optional[pulumi.Input[Sequence[pulumi.Input[Union['URLMapTestArgs', 'URLMapTestArgsDict']]]]] = None) -> 'URLMap':
1871
2105
  """
1872
2106
  Get an existing URLMap resource's state with the given name, id, and optional extra
1873
2107
  properties used to qualify the lookup.
@@ -1876,14 +2110,23 @@ class URLMap(pulumi.CustomResource):
1876
2110
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1877
2111
  :param pulumi.ResourceOptions opts: Options for the resource.
1878
2112
  :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
1879
- :param pulumi.Input[pulumi.InputType['URLMapDefaultRouteActionArgs']] default_route_action: defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
2113
+ :param pulumi.Input[Union['URLMapDefaultCustomErrorResponsePolicyArgs', 'URLMapDefaultCustomErrorResponsePolicyArgsDict']] default_custom_error_response_policy: defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
2114
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
2115
+ For example, consider a UrlMap with the following configuration:
2116
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
2117
+ A RouteRule for /coming_soon/ is configured for the error code 404.
2118
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
2119
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
2120
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
2121
+ Structure is documented below.
2122
+ :param pulumi.Input[Union['URLMapDefaultRouteActionArgs', 'URLMapDefaultRouteActionArgsDict']] default_route_action: defaultRouteAction takes effect when none of the hostRules match. The load balancer performs advanced routing actions
1880
2123
  like URL rewrites, header transformations, etc. prior to forwarding the request to the selected backend.
1881
2124
  If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set. Conversely if defaultService
1882
2125
  is set, defaultRouteAction cannot contain any weightedBackendServices.
1883
2126
  Only one of defaultRouteAction or defaultUrlRedirect must be set.
1884
2127
  Structure is documented below.
1885
2128
  :param pulumi.Input[str] default_service: The backend service or backend bucket to use when none of the given rules match.
1886
- :param pulumi.Input[pulumi.InputType['URLMapDefaultUrlRedirectArgs']] default_url_redirect: When none of the specified hostRules match, the request is redirected to a URL specified
2129
+ :param pulumi.Input[Union['URLMapDefaultUrlRedirectArgs', 'URLMapDefaultUrlRedirectArgsDict']] default_url_redirect: When none of the specified hostRules match, the request is redirected to a URL specified
1887
2130
  by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
1888
2131
  defaultRouteAction must not be set.
1889
2132
  Structure is documented below.
@@ -1891,11 +2134,11 @@ class URLMap(pulumi.CustomResource):
1891
2134
  the resource.
1892
2135
  :param pulumi.Input[str] fingerprint: Fingerprint of this resource. A hash of the contents stored in this object. This
1893
2136
  field is used in optimistic locking.
1894
- :param pulumi.Input[pulumi.InputType['URLMapHeaderActionArgs']] header_action: Specifies changes to request and response headers that need to take effect for
2137
+ :param pulumi.Input[Union['URLMapHeaderActionArgs', 'URLMapHeaderActionArgsDict']] header_action: Specifies changes to request and response headers that need to take effect for
1895
2138
  the selected backendService. The headerAction specified here take effect after
1896
2139
  headerAction specified under pathMatcher.
1897
2140
  Structure is documented below.
1898
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapHostRuleArgs']]]] host_rules: The list of HostRules to use against the URL.
2141
+ :param pulumi.Input[Sequence[pulumi.Input[Union['URLMapHostRuleArgs', 'URLMapHostRuleArgsDict']]]] host_rules: The list of HostRules to use against the URL.
1899
2142
  Structure is documented below.
1900
2143
  :param pulumi.Input[int] map_id: The unique identifier for the resource.
1901
2144
  :param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is created. The
@@ -1907,12 +2150,12 @@ class URLMap(pulumi.CustomResource):
1907
2150
 
1908
2151
 
1909
2152
  - - -
1910
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapPathMatcherArgs']]]] path_matchers: The list of named PathMatchers to use against the URL.
2153
+ :param pulumi.Input[Sequence[pulumi.Input[Union['URLMapPathMatcherArgs', 'URLMapPathMatcherArgsDict']]]] path_matchers: The list of named PathMatchers to use against the URL.
1911
2154
  Structure is documented below.
1912
2155
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1913
2156
  If it is not provided, the provider project is used.
1914
2157
  :param pulumi.Input[str] self_link: The URI of the created resource.
1915
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['URLMapTestArgs']]]] tests: The list of expected URL mapping tests. Request to update this UrlMap will
2158
+ :param pulumi.Input[Sequence[pulumi.Input[Union['URLMapTestArgs', 'URLMapTestArgsDict']]]] tests: The list of expected URL mapping tests. Request to update this UrlMap will
1916
2159
  succeed only if all of the test cases pass. You can specify a maximum of 100
1917
2160
  tests per UrlMap.
1918
2161
  Structure is documented below.
@@ -1922,6 +2165,7 @@ class URLMap(pulumi.CustomResource):
1922
2165
  __props__ = _URLMapState.__new__(_URLMapState)
1923
2166
 
1924
2167
  __props__.__dict__["creation_timestamp"] = creation_timestamp
2168
+ __props__.__dict__["default_custom_error_response_policy"] = default_custom_error_response_policy
1925
2169
  __props__.__dict__["default_route_action"] = default_route_action
1926
2170
  __props__.__dict__["default_service"] = default_service
1927
2171
  __props__.__dict__["default_url_redirect"] = default_url_redirect
@@ -1945,6 +2189,22 @@ class URLMap(pulumi.CustomResource):
1945
2189
  """
1946
2190
  return pulumi.get(self, "creation_timestamp")
1947
2191
 
2192
+ @property
2193
+ @pulumi.getter(name="defaultCustomErrorResponsePolicy")
2194
+ def default_custom_error_response_policy(self) -> pulumi.Output[Optional['outputs.URLMapDefaultCustomErrorResponsePolicy']]:
2195
+ """
2196
+ defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
2197
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
2198
+ For example, consider a UrlMap with the following configuration:
2199
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
2200
+ A RouteRule for /coming_soon/ is configured for the error code 404.
2201
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
2202
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
2203
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
2204
+ Structure is documented below.
2205
+ """
2206
+ return pulumi.get(self, "default_custom_error_response_policy")
2207
+
1948
2208
  @property
1949
2209
  @pulumi.getter(name="defaultRouteAction")
1950
2210
  def default_route_action(self) -> pulumi.Output[Optional['outputs.URLMapDefaultRouteAction']]: