pulumi-gcp 7.29.0a1719417555__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.0a1719417555.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.0a1719417555.dist-info → pulumi_gcp-7.30.0.dist-info}/WHEEL +1 -1
  1484. pulumi_gcp-7.29.0a1719417555.dist-info/RECORD +0 -1600
  1485. {pulumi_gcp-7.29.0a1719417555.dist-info → pulumi_gcp-7.30.0.dist-info}/top_level.txt +0 -0
@@ -4,92 +4,198 @@
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
 
12
17
  __all__ = [
13
18
  'EdgeCacheKeysetPublicKeyArgs',
19
+ 'EdgeCacheKeysetPublicKeyArgsDict',
14
20
  'EdgeCacheKeysetValidationSharedKeyArgs',
21
+ 'EdgeCacheKeysetValidationSharedKeyArgsDict',
15
22
  'EdgeCacheOriginAwsV4AuthenticationArgs',
23
+ 'EdgeCacheOriginAwsV4AuthenticationArgsDict',
16
24
  'EdgeCacheOriginOriginOverrideActionArgs',
25
+ 'EdgeCacheOriginOriginOverrideActionArgsDict',
17
26
  'EdgeCacheOriginOriginOverrideActionHeaderActionArgs',
27
+ 'EdgeCacheOriginOriginOverrideActionHeaderActionArgsDict',
18
28
  'EdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddArgs',
29
+ 'EdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddArgsDict',
19
30
  'EdgeCacheOriginOriginOverrideActionUrlRewriteArgs',
31
+ 'EdgeCacheOriginOriginOverrideActionUrlRewriteArgsDict',
20
32
  'EdgeCacheOriginOriginRedirectArgs',
33
+ 'EdgeCacheOriginOriginRedirectArgsDict',
21
34
  'EdgeCacheOriginTimeoutArgs',
35
+ 'EdgeCacheOriginTimeoutArgsDict',
22
36
  'EdgeCacheServiceLogConfigArgs',
37
+ 'EdgeCacheServiceLogConfigArgsDict',
23
38
  'EdgeCacheServiceRoutingArgs',
39
+ 'EdgeCacheServiceRoutingArgsDict',
24
40
  'EdgeCacheServiceRoutingHostRuleArgs',
41
+ 'EdgeCacheServiceRoutingHostRuleArgsDict',
25
42
  'EdgeCacheServiceRoutingPathMatcherArgs',
43
+ 'EdgeCacheServiceRoutingPathMatcherArgsDict',
26
44
  'EdgeCacheServiceRoutingPathMatcherRouteRuleArgs',
45
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleArgsDict',
27
46
  'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs',
47
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgsDict',
28
48
  'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgs',
49
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsDict',
29
50
  'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgs',
51
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsDict',
30
52
  'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgs',
53
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsDict',
31
54
  'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgs',
55
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsDict',
32
56
  'EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleArgs',
57
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleArgsDict',
33
58
  'EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatchArgs',
59
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatchArgsDict',
34
60
  'EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs',
61
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatchArgsDict',
35
62
  'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionArgs',
63
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionArgsDict',
36
64
  'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs',
65
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgsDict',
37
66
  'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignaturesArgs',
67
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignaturesArgsDict',
38
68
  'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicyArgs',
69
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicyArgsDict',
39
70
  'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedTokenOptionsArgs',
71
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedTokenOptionsArgsDict',
40
72
  'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgs',
73
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgsDict',
41
74
  'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgs',
75
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgsDict',
42
76
  'EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirectArgs',
77
+ 'EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirectArgsDict',
43
78
  'EndpointPolicyEndpointMatcherArgs',
79
+ 'EndpointPolicyEndpointMatcherArgsDict',
44
80
  'EndpointPolicyEndpointMatcherMetadataLabelMatcherArgs',
81
+ 'EndpointPolicyEndpointMatcherMetadataLabelMatcherArgsDict',
45
82
  'EndpointPolicyEndpointMatcherMetadataLabelMatcherMetadataLabelArgs',
83
+ 'EndpointPolicyEndpointMatcherMetadataLabelMatcherMetadataLabelArgsDict',
46
84
  'EndpointPolicyTrafficPortSelectorArgs',
85
+ 'EndpointPolicyTrafficPortSelectorArgsDict',
47
86
  'GrpcRouteRuleArgs',
87
+ 'GrpcRouteRuleArgsDict',
48
88
  'GrpcRouteRuleActionArgs',
89
+ 'GrpcRouteRuleActionArgsDict',
49
90
  'GrpcRouteRuleActionDestinationArgs',
91
+ 'GrpcRouteRuleActionDestinationArgsDict',
50
92
  'GrpcRouteRuleActionFaultInjectionPolicyArgs',
93
+ 'GrpcRouteRuleActionFaultInjectionPolicyArgsDict',
51
94
  'GrpcRouteRuleActionFaultInjectionPolicyAbortArgs',
95
+ 'GrpcRouteRuleActionFaultInjectionPolicyAbortArgsDict',
52
96
  'GrpcRouteRuleActionFaultInjectionPolicyDelayArgs',
97
+ 'GrpcRouteRuleActionFaultInjectionPolicyDelayArgsDict',
53
98
  'GrpcRouteRuleActionRetryPolicyArgs',
99
+ 'GrpcRouteRuleActionRetryPolicyArgsDict',
54
100
  'GrpcRouteRuleMatchArgs',
101
+ 'GrpcRouteRuleMatchArgsDict',
55
102
  'GrpcRouteRuleMatchHeaderArgs',
103
+ 'GrpcRouteRuleMatchHeaderArgsDict',
56
104
  'GrpcRouteRuleMatchMethodArgs',
105
+ 'GrpcRouteRuleMatchMethodArgsDict',
57
106
  'HttpRouteRuleArgs',
107
+ 'HttpRouteRuleArgsDict',
58
108
  'HttpRouteRuleActionArgs',
109
+ 'HttpRouteRuleActionArgsDict',
59
110
  'HttpRouteRuleActionCorsPolicyArgs',
111
+ 'HttpRouteRuleActionCorsPolicyArgsDict',
60
112
  'HttpRouteRuleActionDestinationArgs',
113
+ 'HttpRouteRuleActionDestinationArgsDict',
61
114
  'HttpRouteRuleActionFaultInjectionPolicyArgs',
115
+ 'HttpRouteRuleActionFaultInjectionPolicyArgsDict',
62
116
  'HttpRouteRuleActionFaultInjectionPolicyAbortArgs',
117
+ 'HttpRouteRuleActionFaultInjectionPolicyAbortArgsDict',
63
118
  'HttpRouteRuleActionFaultInjectionPolicyDelayArgs',
119
+ 'HttpRouteRuleActionFaultInjectionPolicyDelayArgsDict',
64
120
  'HttpRouteRuleActionRedirectArgs',
121
+ 'HttpRouteRuleActionRedirectArgsDict',
65
122
  'HttpRouteRuleActionRequestHeaderModifierArgs',
123
+ 'HttpRouteRuleActionRequestHeaderModifierArgsDict',
66
124
  'HttpRouteRuleActionRequestMirrorPolicyArgs',
125
+ 'HttpRouteRuleActionRequestMirrorPolicyArgsDict',
67
126
  'HttpRouteRuleActionRequestMirrorPolicyDestinationArgs',
127
+ 'HttpRouteRuleActionRequestMirrorPolicyDestinationArgsDict',
68
128
  'HttpRouteRuleActionResponseHeaderModifierArgs',
129
+ 'HttpRouteRuleActionResponseHeaderModifierArgsDict',
69
130
  'HttpRouteRuleActionRetryPolicyArgs',
131
+ 'HttpRouteRuleActionRetryPolicyArgsDict',
70
132
  'HttpRouteRuleActionUrlRewriteArgs',
133
+ 'HttpRouteRuleActionUrlRewriteArgsDict',
71
134
  'HttpRouteRuleMatchArgs',
135
+ 'HttpRouteRuleMatchArgsDict',
72
136
  'HttpRouteRuleMatchHeaderArgs',
137
+ 'HttpRouteRuleMatchHeaderArgsDict',
73
138
  'HttpRouteRuleMatchHeaderRangeMatchArgs',
139
+ 'HttpRouteRuleMatchHeaderRangeMatchArgsDict',
74
140
  'HttpRouteRuleMatchQueryParameterArgs',
141
+ 'HttpRouteRuleMatchQueryParameterArgsDict',
75
142
  'LbRouteExtensionExtensionChainArgs',
143
+ 'LbRouteExtensionExtensionChainArgsDict',
76
144
  'LbRouteExtensionExtensionChainExtensionArgs',
145
+ 'LbRouteExtensionExtensionChainExtensionArgsDict',
77
146
  'LbRouteExtensionExtensionChainMatchConditionArgs',
147
+ 'LbRouteExtensionExtensionChainMatchConditionArgsDict',
78
148
  'LbTrafficExtensionExtensionChainArgs',
149
+ 'LbTrafficExtensionExtensionChainArgsDict',
79
150
  'LbTrafficExtensionExtensionChainExtensionArgs',
151
+ 'LbTrafficExtensionExtensionChainExtensionArgsDict',
80
152
  'LbTrafficExtensionExtensionChainMatchConditionArgs',
153
+ 'LbTrafficExtensionExtensionChainMatchConditionArgsDict',
81
154
  'ServiceLbPoliciesAutoCapacityDrainArgs',
155
+ 'ServiceLbPoliciesAutoCapacityDrainArgsDict',
82
156
  'ServiceLbPoliciesFailoverConfigArgs',
157
+ 'ServiceLbPoliciesFailoverConfigArgsDict',
83
158
  'TcpRouteRuleArgs',
159
+ 'TcpRouteRuleArgsDict',
84
160
  'TcpRouteRuleActionArgs',
161
+ 'TcpRouteRuleActionArgsDict',
85
162
  'TcpRouteRuleActionDestinationArgs',
163
+ 'TcpRouteRuleActionDestinationArgsDict',
86
164
  'TcpRouteRuleMatchArgs',
165
+ 'TcpRouteRuleMatchArgsDict',
87
166
  'TlsRouteRuleArgs',
167
+ 'TlsRouteRuleArgsDict',
88
168
  'TlsRouteRuleActionArgs',
169
+ 'TlsRouteRuleActionArgsDict',
89
170
  'TlsRouteRuleActionDestinationArgs',
171
+ 'TlsRouteRuleActionDestinationArgsDict',
90
172
  'TlsRouteRuleMatchArgs',
173
+ 'TlsRouteRuleMatchArgsDict',
91
174
  ]
92
175
 
176
+ MYPY = False
177
+
178
+ if not MYPY:
179
+ class EdgeCacheKeysetPublicKeyArgsDict(TypedDict):
180
+ id: pulumi.Input[str]
181
+ """
182
+ The ID of the public key. The ID must be 1-63 characters long, and comply with RFC1035.
183
+ The name must be 1-64 characters long, and match the regular expression [a-zA-Z][a-zA-Z0-9_-]*
184
+ which means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit.
185
+ """
186
+ managed: NotRequired[pulumi.Input[bool]]
187
+ """
188
+ Set to true to have the CDN automatically manage this public key value.
189
+ """
190
+ value: NotRequired[pulumi.Input[str]]
191
+ """
192
+ The base64-encoded value of the Ed25519 public key. The base64 encoding can be padded (44 bytes) or unpadded (43 bytes).
193
+ Representations or encodings of the public key other than this will be rejected with an error.
194
+ **Note**: This property is sensitive and will not be displayed in the plan.
195
+ """
196
+ elif False:
197
+ EdgeCacheKeysetPublicKeyArgsDict: TypeAlias = Mapping[str, Any]
198
+
93
199
  @pulumi.input_type
94
200
  class EdgeCacheKeysetPublicKeyArgs:
95
201
  def __init__(__self__, *,
@@ -152,6 +258,20 @@ class EdgeCacheKeysetPublicKeyArgs:
152
258
  pulumi.set(self, "value", value)
153
259
 
154
260
 
261
+ if not MYPY:
262
+ class EdgeCacheKeysetValidationSharedKeyArgsDict(TypedDict):
263
+ secret_version: pulumi.Input[str]
264
+ """
265
+ The name of the secret version in Secret Manager.
266
+ The resource name of the secret version must be in the format `projects/*/secrets/*/versions/*` where the `*` values are replaced by the secrets themselves.
267
+ The secrets must be at least 16 bytes large. The recommended secret size depends on the signature algorithm you are using.
268
+ * If you are using HMAC-SHA1, we suggest 20-byte secrets.
269
+ * If you are using HMAC-SHA256, we suggest 32-byte secrets.
270
+ See RFC 2104, Section 3 for more details on these recommendations.
271
+ """
272
+ elif False:
273
+ EdgeCacheKeysetValidationSharedKeyArgsDict: TypeAlias = Mapping[str, Any]
274
+
155
275
  @pulumi.input_type
156
276
  class EdgeCacheKeysetValidationSharedKeyArgs:
157
277
  def __init__(__self__, *,
@@ -184,6 +304,25 @@ class EdgeCacheKeysetValidationSharedKeyArgs:
184
304
  pulumi.set(self, "secret_version", value)
185
305
 
186
306
 
307
+ if not MYPY:
308
+ class EdgeCacheOriginAwsV4AuthenticationArgsDict(TypedDict):
309
+ access_key_id: pulumi.Input[str]
310
+ """
311
+ The access key ID your origin uses to identify the key.
312
+ """
313
+ origin_region: pulumi.Input[str]
314
+ """
315
+ The name of the AWS region that your origin is in.
316
+ """
317
+ secret_access_key_version: pulumi.Input[str]
318
+ """
319
+ The Secret Manager secret version of the secret access key used by your origin.
320
+
321
+ This is the resource name of the secret version in the format 'projects/*/secrets/*/versions/*' where the '*' values are replaced by the project, secret, and version you require.
322
+ """
323
+ elif False:
324
+ EdgeCacheOriginAwsV4AuthenticationArgsDict: TypeAlias = Mapping[str, Any]
325
+
187
326
  @pulumi.input_type
188
327
  class EdgeCacheOriginAwsV4AuthenticationArgs:
189
328
  def __init__(__self__, *,
@@ -240,6 +379,23 @@ class EdgeCacheOriginAwsV4AuthenticationArgs:
240
379
  pulumi.set(self, "secret_access_key_version", value)
241
380
 
242
381
 
382
+ if not MYPY:
383
+ class EdgeCacheOriginOriginOverrideActionArgsDict(TypedDict):
384
+ header_action: NotRequired[pulumi.Input['EdgeCacheOriginOriginOverrideActionHeaderActionArgsDict']]
385
+ """
386
+ The header actions, including adding and removing
387
+ headers, for request handled by this origin.
388
+ Structure is documented below.
389
+ """
390
+ url_rewrite: NotRequired[pulumi.Input['EdgeCacheOriginOriginOverrideActionUrlRewriteArgsDict']]
391
+ """
392
+ The URL rewrite configuration for request that are
393
+ handled by this origin.
394
+ Structure is documented below.
395
+ """
396
+ elif False:
397
+ EdgeCacheOriginOriginOverrideActionArgsDict: TypeAlias = Mapping[str, Any]
398
+
243
399
  @pulumi.input_type
244
400
  class EdgeCacheOriginOriginOverrideActionArgs:
245
401
  def __init__(__self__, *,
@@ -287,6 +443,17 @@ class EdgeCacheOriginOriginOverrideActionArgs:
287
443
  pulumi.set(self, "url_rewrite", value)
288
444
 
289
445
 
446
+ if not MYPY:
447
+ class EdgeCacheOriginOriginOverrideActionHeaderActionArgsDict(TypedDict):
448
+ request_headers_to_adds: NotRequired[pulumi.Input[Sequence[pulumi.Input['EdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddArgsDict']]]]
449
+ """
450
+ Describes a header to add.
451
+ You may add a maximum of 25 request headers.
452
+ Structure is documented below.
453
+ """
454
+ elif False:
455
+ EdgeCacheOriginOriginOverrideActionHeaderActionArgsDict: TypeAlias = Mapping[str, Any]
456
+
290
457
  @pulumi.input_type
291
458
  class EdgeCacheOriginOriginOverrideActionHeaderActionArgs:
292
459
  def __init__(__self__, *,
@@ -314,6 +481,28 @@ class EdgeCacheOriginOriginOverrideActionHeaderActionArgs:
314
481
  pulumi.set(self, "request_headers_to_adds", value)
315
482
 
316
483
 
484
+ if not MYPY:
485
+ class EdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddArgsDict(TypedDict):
486
+ header_name: pulumi.Input[str]
487
+ """
488
+ The name of the header to add.
489
+ """
490
+ header_value: pulumi.Input[str]
491
+ """
492
+ The value of the header to add.
493
+ """
494
+ replace: NotRequired[pulumi.Input[bool]]
495
+ """
496
+ Whether to replace all existing headers with the same name.
497
+ By default, added header values are appended
498
+ to the response or request headers with the
499
+ same field names. The added values are
500
+ separated by commas.
501
+ To overwrite existing values, set `replace` to `true`.
502
+ """
503
+ elif False:
504
+ EdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddArgsDict: TypeAlias = Mapping[str, Any]
505
+
317
506
  @pulumi.input_type
318
507
  class EdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddArgs:
319
508
  def __init__(__self__, *,
@@ -377,6 +566,18 @@ class EdgeCacheOriginOriginOverrideActionHeaderActionRequestHeadersToAddArgs:
377
566
  pulumi.set(self, "replace", value)
378
567
 
379
568
 
569
+ if not MYPY:
570
+ class EdgeCacheOriginOriginOverrideActionUrlRewriteArgsDict(TypedDict):
571
+ host_rewrite: NotRequired[pulumi.Input[str]]
572
+ """
573
+ Prior to forwarding the request to the selected
574
+ origin, the request's host header is replaced with
575
+ contents of the hostRewrite.
576
+ This value must be between 1 and 255 characters.
577
+ """
578
+ elif False:
579
+ EdgeCacheOriginOriginOverrideActionUrlRewriteArgsDict: TypeAlias = Mapping[str, Any]
580
+
380
581
  @pulumi.input_type
381
582
  class EdgeCacheOriginOriginOverrideActionUrlRewriteArgs:
382
583
  def __init__(__self__, *,
@@ -406,6 +607,18 @@ class EdgeCacheOriginOriginOverrideActionUrlRewriteArgs:
406
607
  pulumi.set(self, "host_rewrite", value)
407
608
 
408
609
 
610
+ if not MYPY:
611
+ class EdgeCacheOriginOriginRedirectArgsDict(TypedDict):
612
+ redirect_conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
613
+ """
614
+ The set of redirect response codes that the CDN
615
+ follows. Values of
616
+ [RedirectConditions](https://cloud.google.com/media-cdn/docs/reference/rest/v1/projects.locations.edgeCacheOrigins#redirectconditions)
617
+ are accepted.
618
+ """
619
+ elif False:
620
+ EdgeCacheOriginOriginRedirectArgsDict: TypeAlias = Mapping[str, Any]
621
+
409
622
  @pulumi.input_type
410
623
  class EdgeCacheOriginOriginRedirectArgs:
411
624
  def __init__(__self__, *,
@@ -435,6 +648,40 @@ class EdgeCacheOriginOriginRedirectArgs:
435
648
  pulumi.set(self, "redirect_conditions", value)
436
649
 
437
650
 
651
+ if not MYPY:
652
+ class EdgeCacheOriginTimeoutArgsDict(TypedDict):
653
+ connect_timeout: NotRequired[pulumi.Input[str]]
654
+ """
655
+ The maximum duration to wait for a single origin connection to be established, including DNS lookup, TLS handshake and TCP/QUIC connection establishment.
656
+ Defaults to 5 seconds. The timeout must be a value between 1s and 15s.
657
+ The connectTimeout capped by the deadline set by the request's maxAttemptsTimeout. The last connection attempt may have a smaller connectTimeout in order to adhere to the overall maxAttemptsTimeout.
658
+ """
659
+ max_attempts_timeout: NotRequired[pulumi.Input[str]]
660
+ """
661
+ The maximum time across all connection attempts to the origin, including failover origins, before returning an error to the client. A HTTP 504 will be returned if the timeout is reached before a response is returned.
662
+ Defaults to 15 seconds. The timeout must be a value between 1s and 30s.
663
+ If a failoverOrigin is specified, the maxAttemptsTimeout of the first configured origin sets the deadline for all connection attempts across all failoverOrigins.
664
+ """
665
+ read_timeout: NotRequired[pulumi.Input[str]]
666
+ """
667
+ The maximum duration to wait between reads of a single HTTP connection/stream.
668
+ Defaults to 15 seconds. The timeout must be a value between 1s and 30s.
669
+ The readTimeout is capped by the responseTimeout. All reads of the HTTP connection/stream must be completed by the deadline set by the responseTimeout.
670
+ If the response headers have already been written to the connection, the response will be truncated and logged.
671
+
672
+ <a name="nested_aws_v4_authentication"></a>The `aws_v4_authentication` block supports:
673
+ """
674
+ response_timeout: NotRequired[pulumi.Input[str]]
675
+ """
676
+ The maximum duration to wait for the last byte of a response to arrive when reading from the HTTP connection/stream.
677
+ Defaults to 30 seconds. The timeout must be a value between 1s and 120s.
678
+ The responseTimeout starts after the connection has been established.
679
+ This also applies to HTTP Chunked Transfer Encoding responses, and/or when an open-ended Range request is made to the origin. Origins that take longer to write additional bytes to the response than the configured responseTimeout will result in an error being returned to the client.
680
+ If the response headers have already been written to the connection, the response will be truncated and logged.
681
+ """
682
+ elif False:
683
+ EdgeCacheOriginTimeoutArgsDict: TypeAlias = Mapping[str, Any]
684
+
438
685
  @pulumi.input_type
439
686
  class EdgeCacheOriginTimeoutArgs:
440
687
  def __init__(__self__, *,
@@ -532,6 +779,20 @@ class EdgeCacheOriginTimeoutArgs:
532
779
  pulumi.set(self, "response_timeout", value)
533
780
 
534
781
 
782
+ if not MYPY:
783
+ class EdgeCacheServiceLogConfigArgsDict(TypedDict):
784
+ enable: NotRequired[pulumi.Input[bool]]
785
+ """
786
+ Specifies whether to enable logging for traffic served by this service.
787
+ """
788
+ sample_rate: NotRequired[pulumi.Input[float]]
789
+ """
790
+ Configures the sampling rate of requests, where 1.0 means all logged requests are reported and 0.0 means no logged requests are reported. The default value is 1.0, and the value of the field must be in [0, 1].
791
+ This field can only be specified if logging is enabled for this service.
792
+ """
793
+ elif False:
794
+ EdgeCacheServiceLogConfigArgsDict: TypeAlias = Mapping[str, Any]
795
+
535
796
  @pulumi.input_type
536
797
  class EdgeCacheServiceLogConfigArgs:
537
798
  def __init__(__self__, *,
@@ -573,6 +834,21 @@ class EdgeCacheServiceLogConfigArgs:
573
834
  pulumi.set(self, "sample_rate", value)
574
835
 
575
836
 
837
+ if not MYPY:
838
+ class EdgeCacheServiceRoutingArgsDict(TypedDict):
839
+ host_rules: pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingHostRuleArgsDict']]]
840
+ """
841
+ The list of hostRules to match against. These rules define which hostnames the EdgeCacheService will match against, and which route configurations apply.
842
+ Structure is documented below.
843
+ """
844
+ path_matchers: pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherArgsDict']]]
845
+ """
846
+ The list of pathMatchers referenced via name by hostRules. PathMatcher is used to match the path portion of the URL when a HostRule matches the URL's host portion.
847
+ Structure is documented below.
848
+ """
849
+ elif False:
850
+ EdgeCacheServiceRoutingArgsDict: TypeAlias = Mapping[str, Any]
851
+
576
852
  @pulumi.input_type
577
853
  class EdgeCacheServiceRoutingArgs:
578
854
  def __init__(__self__, *,
@@ -614,6 +890,33 @@ class EdgeCacheServiceRoutingArgs:
614
890
  pulumi.set(self, "path_matchers", value)
615
891
 
616
892
 
893
+ if not MYPY:
894
+ class EdgeCacheServiceRoutingHostRuleArgsDict(TypedDict):
895
+ hosts: pulumi.Input[Sequence[pulumi.Input[str]]]
896
+ """
897
+ The list of host patterns to match.
898
+ Host patterns must be valid hostnames. Ports are not allowed. Wildcard hosts are supported in the suffix or prefix form. * matches any string of ([a-z0-9-.]*). It does not match the empty string.
899
+ When multiple hosts are specified, hosts are matched in the following priority:
900
+ 1. Exact domain names: ``www.foo.com``.
901
+ 2. Suffix domain wildcards: ``*.foo.com`` or ``*-bar.foo.com``.
902
+ 3. Prefix domain wildcards: ``foo.*`` or ``foo-*``.
903
+ 4. Special wildcard ``*`` matching any domain.
904
+ Notes:
905
+ The wildcard will not match the empty string. e.g. ``*-bar.foo.com`` will match ``baz-bar.foo.com`` but not ``-bar.foo.com``. The longest wildcards match first. Only a single host in the entire service can match on ``*``. A domain must be unique across all configured hosts within a service.
906
+ Hosts are matched against the HTTP Host header, or for HTTP/2 and HTTP/3, the ":authority" header, from the incoming request.
907
+ You may specify up to 10 hosts.
908
+ """
909
+ path_matcher: pulumi.Input[str]
910
+ """
911
+ The name of the pathMatcher associated with this hostRule.
912
+ """
913
+ description: NotRequired[pulumi.Input[str]]
914
+ """
915
+ A human-readable description of the hostRule.
916
+ """
917
+ elif False:
918
+ EdgeCacheServiceRoutingHostRuleArgsDict: TypeAlias = Mapping[str, Any]
919
+
617
920
  @pulumi.input_type
618
921
  class EdgeCacheServiceRoutingHostRuleArgs:
619
922
  def __init__(__self__, *,
@@ -687,6 +990,24 @@ class EdgeCacheServiceRoutingHostRuleArgs:
687
990
  pulumi.set(self, "description", value)
688
991
 
689
992
 
993
+ if not MYPY:
994
+ class EdgeCacheServiceRoutingPathMatcherArgsDict(TypedDict):
995
+ name: pulumi.Input[str]
996
+ """
997
+ The name to which this PathMatcher is referred by the HostRule.
998
+ """
999
+ route_rules: pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleArgsDict']]]
1000
+ """
1001
+ The routeRules to match against. routeRules support advanced routing behaviour, and can match on paths, headers and query parameters, as well as status codes and HTTP methods.
1002
+ Structure is documented below.
1003
+ """
1004
+ description: NotRequired[pulumi.Input[str]]
1005
+ """
1006
+ A human-readable description of the resource.
1007
+ """
1008
+ elif False:
1009
+ EdgeCacheServiceRoutingPathMatcherArgsDict: TypeAlias = Mapping[str, Any]
1010
+
690
1011
  @pulumi.input_type
691
1012
  class EdgeCacheServiceRoutingPathMatcherArgs:
692
1013
  def __init__(__self__, *,
@@ -742,6 +1063,48 @@ class EdgeCacheServiceRoutingPathMatcherArgs:
742
1063
  pulumi.set(self, "description", value)
743
1064
 
744
1065
 
1066
+ if not MYPY:
1067
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleArgsDict(TypedDict):
1068
+ match_rules: pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleArgsDict']]]
1069
+ """
1070
+ The list of criteria for matching attributes of a request to this routeRule. This list has OR semantics: the request matches this routeRule when any of the matchRules are satisfied. However predicates
1071
+ within a given matchRule have AND semantics. All predicates within a matchRule must match for the request to match the rule.
1072
+ Structure is documented below.
1073
+ """
1074
+ priority: pulumi.Input[str]
1075
+ """
1076
+ The priority of this route rule, where 1 is the highest priority.
1077
+ You cannot configure two or more routeRules with the same priority. Priority for each rule must be set to a number between 1 and 999 inclusive.
1078
+ Priority numbers can have gaps, which enable you to add or remove rules in the future without affecting the rest of the rules. For example, 1, 2, 3, 4, 5, 9, 12, 16 is a valid series of priority numbers
1079
+ to which you could add rules numbered from 6 to 8, 10 to 11, and 13 to 15 in the future without any impact on existing rules.
1080
+ """
1081
+ description: NotRequired[pulumi.Input[str]]
1082
+ """
1083
+ A human-readable description of the routeRule.
1084
+ """
1085
+ header_action: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgsDict']]
1086
+ """
1087
+ The header actions, including adding & removing headers, for requests that match this route.
1088
+ Structure is documented below.
1089
+ """
1090
+ origin: NotRequired[pulumi.Input[str]]
1091
+ """
1092
+ The Origin resource that requests to this route should fetch from when a matching response is not in cache. Origins can be defined as short names ("my-origin") or fully-qualified resource URLs - e.g. "networkservices.googleapis.com/projects/my-project/global/edgecacheorigins/my-origin"
1093
+ Only one of origin or urlRedirect can be set.
1094
+ """
1095
+ route_action: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionArgsDict']]
1096
+ """
1097
+ In response to a matching path, the routeAction performs advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request to the selected origin.
1098
+ Structure is documented below.
1099
+ """
1100
+ url_redirect: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirectArgsDict']]
1101
+ """
1102
+ The URL redirect configuration for requests that match this route.
1103
+ Structure is documented below.
1104
+ """
1105
+ elif False:
1106
+ EdgeCacheServiceRoutingPathMatcherRouteRuleArgsDict: TypeAlias = Mapping[str, Any]
1107
+
745
1108
  @pulumi.input_type
746
1109
  class EdgeCacheServiceRoutingPathMatcherRouteRuleArgs:
747
1110
  def __init__(__self__, *,
@@ -877,6 +1240,32 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleArgs:
877
1240
  pulumi.set(self, "url_redirect", value)
878
1241
 
879
1242
 
1243
+ if not MYPY:
1244
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgsDict(TypedDict):
1245
+ request_header_to_adds: NotRequired[pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsDict']]]]
1246
+ """
1247
+ Describes a header to add.
1248
+ Structure is documented below.
1249
+ """
1250
+ request_header_to_removes: NotRequired[pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsDict']]]]
1251
+ """
1252
+ A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
1253
+ Structure is documented below.
1254
+ """
1255
+ response_header_to_adds: NotRequired[pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsDict']]]]
1256
+ """
1257
+ Headers to add to the response prior to sending it back to the client.
1258
+ Response headers are only sent to the client, and do not have an effect on the cache serving the response.
1259
+ Structure is documented below.
1260
+ """
1261
+ response_header_to_removes: NotRequired[pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsDict']]]]
1262
+ """
1263
+ A list of header names for headers that need to be removed from the request prior to forwarding the request to the origin.
1264
+ Structure is documented below.
1265
+ """
1266
+ elif False:
1267
+ EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgsDict: TypeAlias = Mapping[str, Any]
1268
+
880
1269
  @pulumi.input_type
881
1270
  class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs:
882
1271
  def __init__(__self__, *,
@@ -958,6 +1347,23 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionArgs:
958
1347
  pulumi.set(self, "response_header_to_removes", value)
959
1348
 
960
1349
 
1350
+ if not MYPY:
1351
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsDict(TypedDict):
1352
+ header_name: pulumi.Input[str]
1353
+ """
1354
+ The name of the header to add.
1355
+ """
1356
+ header_value: pulumi.Input[str]
1357
+ """
1358
+ The value of the header to add.
1359
+ """
1360
+ replace: NotRequired[pulumi.Input[bool]]
1361
+ """
1362
+ Whether to replace all existing headers with the same name.
1363
+ """
1364
+ elif False:
1365
+ EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgsDict: TypeAlias = Mapping[str, Any]
1366
+
961
1367
  @pulumi.input_type
962
1368
  class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddArgs:
963
1369
  def __init__(__self__, *,
@@ -1011,6 +1417,15 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToAddA
1011
1417
  pulumi.set(self, "replace", value)
1012
1418
 
1013
1419
 
1420
+ if not MYPY:
1421
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsDict(TypedDict):
1422
+ header_name: pulumi.Input[str]
1423
+ """
1424
+ The name of the header to remove.
1425
+ """
1426
+ elif False:
1427
+ EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgsDict: TypeAlias = Mapping[str, Any]
1428
+
1014
1429
  @pulumi.input_type
1015
1430
  class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemoveArgs:
1016
1431
  def __init__(__self__, *,
@@ -1033,6 +1448,23 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionRequestHeaderToRemo
1033
1448
  pulumi.set(self, "header_name", value)
1034
1449
 
1035
1450
 
1451
+ if not MYPY:
1452
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsDict(TypedDict):
1453
+ header_name: pulumi.Input[str]
1454
+ """
1455
+ The name of the header to add.
1456
+ """
1457
+ header_value: pulumi.Input[str]
1458
+ """
1459
+ The value of the header to add.
1460
+ """
1461
+ replace: NotRequired[pulumi.Input[bool]]
1462
+ """
1463
+ Whether to replace all existing headers with the same name.
1464
+ """
1465
+ elif False:
1466
+ EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgsDict: TypeAlias = Mapping[str, Any]
1467
+
1036
1468
  @pulumi.input_type
1037
1469
  class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAddArgs:
1038
1470
  def __init__(__self__, *,
@@ -1086,6 +1518,16 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToAdd
1086
1518
  pulumi.set(self, "replace", value)
1087
1519
 
1088
1520
 
1521
+ if not MYPY:
1522
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsDict(TypedDict):
1523
+ header_name: pulumi.Input[str]
1524
+ """
1525
+ Headers to remove from the response prior to sending it back to the client.
1526
+ Response headers are only sent to the client, and do not have an effect on the cache serving the response.
1527
+ """
1528
+ elif False:
1529
+ EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgsDict: TypeAlias = Mapping[str, Any]
1530
+
1089
1531
  @pulumi.input_type
1090
1532
  class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRemoveArgs:
1091
1533
  def __init__(__self__, *,
@@ -1110,6 +1552,44 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleHeaderActionResponseHeaderToRem
1110
1552
  pulumi.set(self, "header_name", value)
1111
1553
 
1112
1554
 
1555
+ if not MYPY:
1556
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleArgsDict(TypedDict):
1557
+ full_path_match: NotRequired[pulumi.Input[str]]
1558
+ """
1559
+ For satisfying the matchRule condition, the path of the request must exactly match the value specified in fullPathMatch after removing any query parameters and anchor that may be part of the original URL.
1560
+ """
1561
+ header_matches: NotRequired[pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatchArgsDict']]]]
1562
+ """
1563
+ Specifies a list of header match criteria, all of which must match corresponding headers in the request.
1564
+ Structure is documented below.
1565
+ """
1566
+ ignore_case: NotRequired[pulumi.Input[bool]]
1567
+ """
1568
+ Specifies that prefixMatch and fullPathMatch matches are case sensitive.
1569
+ """
1570
+ path_template_match: NotRequired[pulumi.Input[str]]
1571
+ """
1572
+ For satisfying the matchRule condition, the path of the request
1573
+ must match the wildcard pattern specified in pathTemplateMatch
1574
+ after removing any query parameters and anchor that may be part
1575
+ of the original URL.
1576
+ pathTemplateMatch must be between 1 and 255 characters
1577
+ (inclusive). The pattern specified by pathTemplateMatch may
1578
+ have at most 5 wildcard operators and at most 5 variable
1579
+ captures in total.
1580
+ """
1581
+ prefix_match: NotRequired[pulumi.Input[str]]
1582
+ """
1583
+ For satisfying the matchRule condition, the request's path must begin with the specified prefixMatch. prefixMatch must begin with a /.
1584
+ """
1585
+ query_parameter_matches: NotRequired[pulumi.Input[Sequence[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatchArgsDict']]]]
1586
+ """
1587
+ Specifies a list of query parameter match criteria, all of which must match corresponding query parameters in the request.
1588
+ Structure is documented below.
1589
+ """
1590
+ elif False:
1591
+ EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleArgsDict: TypeAlias = Mapping[str, Any]
1592
+
1113
1593
  @pulumi.input_type
1114
1594
  class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleArgs:
1115
1595
  def __init__(__self__, *,
@@ -1231,6 +1711,36 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleArgs:
1231
1711
  pulumi.set(self, "query_parameter_matches", value)
1232
1712
 
1233
1713
 
1714
+ if not MYPY:
1715
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatchArgsDict(TypedDict):
1716
+ header_name: pulumi.Input[str]
1717
+ """
1718
+ The header name to match on.
1719
+ """
1720
+ exact_match: NotRequired[pulumi.Input[str]]
1721
+ """
1722
+ The value of the header should exactly match contents of exactMatch.
1723
+ """
1724
+ invert_match: NotRequired[pulumi.Input[bool]]
1725
+ """
1726
+ If set to false (default), the headerMatch is considered a match if the match criteria above are met.
1727
+ If set to true, the headerMatch is considered a match if the match criteria above are NOT met.
1728
+ """
1729
+ prefix_match: NotRequired[pulumi.Input[str]]
1730
+ """
1731
+ The value of the header must start with the contents of prefixMatch.
1732
+ """
1733
+ present_match: NotRequired[pulumi.Input[bool]]
1734
+ """
1735
+ A header with the contents of headerName must exist. The match takes place whether or not the request's header has a value.
1736
+ """
1737
+ suffix_match: NotRequired[pulumi.Input[str]]
1738
+ """
1739
+ The value of the header must end with the contents of suffixMatch.
1740
+ """
1741
+ elif False:
1742
+ EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatchArgsDict: TypeAlias = Mapping[str, Any]
1743
+
1234
1744
  @pulumi.input_type
1235
1745
  class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatchArgs:
1236
1746
  def __init__(__self__, *,
@@ -1335,6 +1845,23 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleHeaderMatchArgs:
1335
1845
  pulumi.set(self, "suffix_match", value)
1336
1846
 
1337
1847
 
1848
+ if not MYPY:
1849
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatchArgsDict(TypedDict):
1850
+ name: pulumi.Input[str]
1851
+ """
1852
+ The name of the query parameter to match. The query parameter must exist in the request, in the absence of which the request match fails.
1853
+ """
1854
+ exact_match: NotRequired[pulumi.Input[str]]
1855
+ """
1856
+ The queryParameterMatch matches if the value of the parameter exactly matches the contents of exactMatch.
1857
+ """
1858
+ present_match: NotRequired[pulumi.Input[bool]]
1859
+ """
1860
+ Specifies that the queryParameterMatch matches if the request contains the query parameter, irrespective of whether the parameter has a value or not.
1861
+ """
1862
+ elif False:
1863
+ EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatchArgsDict: TypeAlias = Mapping[str, Any]
1864
+
1338
1865
  @pulumi.input_type
1339
1866
  class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatchArgs:
1340
1867
  def __init__(__self__, *,
@@ -1389,6 +1916,26 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleMatchRuleQueryParameterMatchArg
1389
1916
  pulumi.set(self, "present_match", value)
1390
1917
 
1391
1918
 
1919
+ if not MYPY:
1920
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionArgsDict(TypedDict):
1921
+ cdn_policy: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgsDict']]
1922
+ """
1923
+ The policy to use for defining caching and signed request behaviour for requests that match this route.
1924
+ Structure is documented below.
1925
+ """
1926
+ cors_policy: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgsDict']]
1927
+ """
1928
+ CORSPolicy defines Cross-Origin-Resource-Sharing configuration, including which CORS response headers will be set.
1929
+ Structure is documented below.
1930
+ """
1931
+ url_rewrite: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgsDict']]
1932
+ """
1933
+ The URL rewrite configuration for requests that match this route.
1934
+ Structure is documented below.
1935
+ """
1936
+ elif False:
1937
+ EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionArgsDict: TypeAlias = Mapping[str, Any]
1938
+
1392
1939
  @pulumi.input_type
1393
1940
  class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionArgs:
1394
1941
  def __init__(__self__, *,
@@ -1414,41 +1961,139 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionArgs:
1414
1961
  @pulumi.getter(name="cdnPolicy")
1415
1962
  def cdn_policy(self) -> Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs']]:
1416
1963
  """
1417
- The policy to use for defining caching and signed request behaviour for requests that match this route.
1418
- Structure is documented below.
1964
+ The policy to use for defining caching and signed request behaviour for requests that match this route.
1965
+ Structure is documented below.
1966
+ """
1967
+ return pulumi.get(self, "cdn_policy")
1968
+
1969
+ @cdn_policy.setter
1970
+ def cdn_policy(self, value: Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs']]):
1971
+ pulumi.set(self, "cdn_policy", value)
1972
+
1973
+ @property
1974
+ @pulumi.getter(name="corsPolicy")
1975
+ def cors_policy(self) -> Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgs']]:
1976
+ """
1977
+ CORSPolicy defines Cross-Origin-Resource-Sharing configuration, including which CORS response headers will be set.
1978
+ Structure is documented below.
1979
+ """
1980
+ return pulumi.get(self, "cors_policy")
1981
+
1982
+ @cors_policy.setter
1983
+ def cors_policy(self, value: Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgs']]):
1984
+ pulumi.set(self, "cors_policy", value)
1985
+
1986
+ @property
1987
+ @pulumi.getter(name="urlRewrite")
1988
+ def url_rewrite(self) -> Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgs']]:
1989
+ """
1990
+ The URL rewrite configuration for requests that match this route.
1991
+ Structure is documented below.
1992
+ """
1993
+ return pulumi.get(self, "url_rewrite")
1994
+
1995
+ @url_rewrite.setter
1996
+ def url_rewrite(self, value: Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgs']]):
1997
+ pulumi.set(self, "url_rewrite", value)
1998
+
1999
+
2000
+ if not MYPY:
2001
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgsDict(TypedDict):
2002
+ add_signatures: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignaturesArgsDict']]
2003
+ """
2004
+ Enable signature generation or propagation on this route.
2005
+ This field may only be specified when signedRequestMode is set to REQUIRE_TOKENS.
2006
+ Structure is documented below.
2007
+ """
2008
+ cache_key_policy: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicyArgsDict']]
2009
+ """
2010
+ Defines the request parameters that contribute to the cache key.
2011
+ Structure is documented below.
2012
+ """
2013
+ cache_mode: NotRequired[pulumi.Input[str]]
2014
+ """
2015
+ Cache modes allow users to control the behaviour of the cache, what content it should cache automatically, whether to respect origin headers, or whether to unconditionally cache all responses.
2016
+ For all cache modes, Cache-Control headers will be passed to the client. Use clientTtl to override what is sent to the client.
2017
+ Possible values are: `CACHE_ALL_STATIC`, `USE_ORIGIN_HEADERS`, `FORCE_CACHE_ALL`, `BYPASS_CACHE`.
2018
+ """
2019
+ client_ttl: NotRequired[pulumi.Input[str]]
2020
+ """
2021
+ Specifies a separate client (e.g. browser client) TTL, separate from the TTL used by the edge caches. Leaving this empty will use the same cache TTL for both the CDN and the client-facing response.
2022
+ - The TTL must be > 0 and <= 86400s (1 day)
2023
+ - The clientTtl cannot be larger than the defaultTtl (if set)
2024
+ - Fractions of a second are not allowed.
2025
+ Omit this field to use the defaultTtl, or the max-age set by the origin, as the client-facing TTL.
2026
+ When the cache mode is set to "USE_ORIGIN_HEADERS" or "BYPASS_CACHE", you must omit this field.
2027
+ A duration in seconds terminated by 's'. Example: "3s".
2028
+ """
2029
+ default_ttl: NotRequired[pulumi.Input[str]]
2030
+ """
2031
+ Specifies the default TTL for cached content served by this origin for responses that do not have an existing valid TTL (max-age or s-max-age).
2032
+ Defaults to 3600s (1 hour).
2033
+ - The TTL must be >= 0 and <= 31,536,000 seconds (1 year)
2034
+ - Setting a TTL of "0" means "always revalidate" (equivalent to must-revalidate)
2035
+ - The value of defaultTTL cannot be set to a value greater than that of maxTTL.
2036
+ - Fractions of a second are not allowed.
2037
+ - When the cacheMode is set to FORCE_CACHE_ALL, the defaultTTL will overwrite the TTL set in all responses.
2038
+ Note that infrequently accessed objects may be evicted from the cache before the defined TTL. Objects that expire will be revalidated with the origin.
2039
+ When the cache mode is set to "USE_ORIGIN_HEADERS" or "BYPASS_CACHE", you must omit this field.
2040
+ A duration in seconds terminated by 's'. Example: "3s".
2041
+ """
2042
+ max_ttl: NotRequired[pulumi.Input[str]]
2043
+ """
2044
+ Specifies the maximum allowed TTL for cached content served by this origin.
2045
+ Defaults to 86400s (1 day).
2046
+ Cache directives that attempt to set a max-age or s-maxage higher than this, or an Expires header more than maxTtl seconds in the future will be capped at the value of maxTTL, as if it were the value of an s-maxage Cache-Control directive.
2047
+ - The TTL must be >= 0 and <= 31,536,000 seconds (1 year)
2048
+ - Setting a TTL of "0" means "always revalidate"
2049
+ - The value of maxTtl must be equal to or greater than defaultTtl.
2050
+ - Fractions of a second are not allowed.
2051
+ When the cache mode is set to "USE_ORIGIN_HEADERS", "FORCE_CACHE_ALL", or "BYPASS_CACHE", you must omit this field.
2052
+ A duration in seconds terminated by 's'. Example: "3s".
2053
+ """
2054
+ negative_caching: NotRequired[pulumi.Input[bool]]
2055
+ """
2056
+ Negative caching allows per-status code TTLs to be set, in order to apply fine-grained caching for common errors or redirects. This can reduce the load on your origin and improve end-user experience by reducing response latency.
2057
+ By default, the CDNPolicy will apply the following default TTLs to these status codes:
2058
+ - HTTP 300 (Multiple Choice), 301, 308 (Permanent Redirects): 10m
2059
+ - HTTP 404 (Not Found), 410 (Gone), 451 (Unavailable For Legal Reasons): 120s
2060
+ - HTTP 405 (Method Not Found), 414 (URI Too Long), 501 (Not Implemented): 60s
2061
+ These defaults can be overridden in negativeCachingPolicy
2062
+ """
2063
+ negative_caching_policy: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
2064
+ """
2065
+ Sets a cache TTL for the specified HTTP status code. negativeCaching must be enabled to configure negativeCachingPolicy.
2066
+ - Omitting the policy and leaving negativeCaching enabled will use the default TTLs for each status code, defined in negativeCaching.
2067
+ - TTLs must be >= 0 (where 0 is "always revalidate") and <= 86400s (1 day)
2068
+ Note that when specifying an explicit negativeCachingPolicy, you should take care to specify a cache TTL for all response codes that you wish to cache. The CDNPolicy will not apply any default negative caching when a policy exists.
2069
+ """
2070
+ signed_request_keyset: NotRequired[pulumi.Input[str]]
1419
2071
  """
1420
- return pulumi.get(self, "cdn_policy")
1421
-
1422
- @cdn_policy.setter
1423
- def cdn_policy(self, value: Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs']]):
1424
- pulumi.set(self, "cdn_policy", value)
1425
-
1426
- @property
1427
- @pulumi.getter(name="corsPolicy")
1428
- def cors_policy(self) -> Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgs']]:
2072
+ The EdgeCacheKeyset containing the set of public keys used to validate signed requests at the edge.
1429
2073
  """
1430
- CORSPolicy defines Cross-Origin-Resource-Sharing configuration, including which CORS response headers will be set.
1431
- Structure is documented below.
2074
+ signed_request_maximum_expiration_ttl: NotRequired[pulumi.Input[str]]
1432
2075
  """
1433
- return pulumi.get(self, "cors_policy")
1434
-
1435
- @cors_policy.setter
1436
- def cors_policy(self, value: Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgs']]):
1437
- pulumi.set(self, "cors_policy", value)
1438
-
1439
- @property
1440
- @pulumi.getter(name="urlRewrite")
1441
- def url_rewrite(self) -> Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgs']]:
2076
+ Limit how far into the future the expiration time of a signed request may be.
2077
+ When set, a signed request is rejected if its expiration time is later than now + signedRequestMaximumExpirationTtl, where now is the time at which the signed request is first handled by the CDN.
2078
+ - The TTL must be > 0.
2079
+ - Fractions of a second are not allowed.
2080
+ By default, signedRequestMaximumExpirationTtl is not set and the expiration time of a signed request may be arbitrarily far into future.
1442
2081
  """
1443
- The URL rewrite configuration for requests that match this route.
2082
+ signed_request_mode: NotRequired[pulumi.Input[str]]
2083
+ """
2084
+ Whether to enforce signed requests. The default value is DISABLED, which means all content is public, and does not authorize access.
2085
+ You must also set a signedRequestKeyset to enable signed requests.
2086
+ When set to REQUIRE_SIGNATURES, all matching requests will have their signature validated. Requests that were not signed with the corresponding private key, or that are otherwise invalid (expired, do not match the signature, IP address, or header) will be rejected with a HTTP 403 and (if enabled) logged.
2087
+ Possible values are: `DISABLED`, `REQUIRE_SIGNATURES`, `REQUIRE_TOKENS`.
2088
+ """
2089
+ signed_token_options: NotRequired[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedTokenOptionsArgsDict']]
2090
+ """
2091
+ Additional options for signed tokens.
2092
+ signedTokenOptions may only be specified when signedRequestMode is REQUIRE_TOKENS.
1444
2093
  Structure is documented below.
1445
2094
  """
1446
- return pulumi.get(self, "url_rewrite")
1447
-
1448
- @url_rewrite.setter
1449
- def url_rewrite(self, value: Optional[pulumi.Input['EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgs']]):
1450
- pulumi.set(self, "url_rewrite", value)
1451
-
2095
+ elif False:
2096
+ EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgsDict: TypeAlias = Mapping[str, Any]
1452
2097
 
1453
2098
  @pulumi.input_type
1454
2099
  class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs:
@@ -1739,6 +2384,45 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyArgs:
1739
2384
  pulumi.set(self, "signed_token_options", value)
1740
2385
 
1741
2386
 
2387
+ if not MYPY:
2388
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignaturesArgsDict(TypedDict):
2389
+ actions: pulumi.Input[str]
2390
+ """
2391
+ The actions to take to add signatures to responses.
2392
+ Each value may be one of: `GENERATE_COOKIE`, `GENERATE_TOKEN_HLS_COOKIELESS`, `PROPAGATE_TOKEN_HLS_COOKIELESS`.
2393
+ """
2394
+ copied_parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2395
+ """
2396
+ The parameters to copy from the verified token to the generated token.
2397
+ Only the following parameters may be copied:
2398
+ * `PathGlobs`
2399
+ """
2400
+ keyset: NotRequired[pulumi.Input[str]]
2401
+ """
2402
+ The keyset to use for signature generation.
2403
+ The following are both valid paths to an EdgeCacheKeyset resource:
2404
+ * `projects/project/locations/global/edgeCacheKeysets/yourKeyset`
2405
+ * `yourKeyset`
2406
+ This must be specified when the GENERATE_COOKIE or GENERATE_TOKEN_HLS_COOKIELESS actions are specified. This field may not be specified otherwise.
2407
+ """
2408
+ token_query_parameter: NotRequired[pulumi.Input[str]]
2409
+ """
2410
+ The query parameter in which to put the generated token.
2411
+ If not specified, defaults to `edge-cache-token`.
2412
+ If specified, the name must be 1-64 characters long and match the regular expression `a-zA-Z*` which means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit.
2413
+ This field may only be set when the GENERATE_TOKEN_HLS_COOKIELESS or PROPAGATE_TOKEN_HLS_COOKIELESS actions are specified.
2414
+ """
2415
+ token_ttl: NotRequired[pulumi.Input[str]]
2416
+ """
2417
+ The duration the token is valid starting from the moment the token is first generated.
2418
+ Defaults to `86400s` (1 day).
2419
+ The TTL must be >= 0 and <= 604,800 seconds (1 week).
2420
+ This field may only be specified when the GENERATE_COOKIE or GENERATE_TOKEN_HLS_COOKIELESS actions are specified.
2421
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2422
+ """
2423
+ elif False:
2424
+ EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignaturesArgsDict: TypeAlias = Mapping[str, Any]
2425
+
1742
2426
  @pulumi.input_type
1743
2427
  class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignaturesArgs:
1744
2428
  def __init__(__self__, *,
@@ -1853,6 +2537,57 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyAddSignatur
1853
2537
  pulumi.set(self, "token_ttl", value)
1854
2538
 
1855
2539
 
2540
+ if not MYPY:
2541
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicyArgsDict(TypedDict):
2542
+ exclude_host: NotRequired[pulumi.Input[bool]]
2543
+ """
2544
+ If true, requests to different hosts will be cached separately.
2545
+ Note: this should only be enabled if hosts share the same origin and content. Removing the host from the cache key may inadvertently result in different objects being cached than intended, depending on which route the first user matched.
2546
+ """
2547
+ exclude_query_string: NotRequired[pulumi.Input[bool]]
2548
+ """
2549
+ If true, exclude query string parameters from the cache key
2550
+ If false (the default), include the query string parameters in
2551
+ the cache key according to includeQueryParameters and
2552
+ excludeQueryParameters. If neither includeQueryParameters nor
2553
+ excludeQueryParameters is set, the entire query string will be
2554
+ included.
2555
+ """
2556
+ excluded_query_parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2557
+ """
2558
+ Names of query string parameters to exclude from cache keys. All other parameters will be included.
2559
+ Either specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters.
2560
+ """
2561
+ include_protocol: NotRequired[pulumi.Input[bool]]
2562
+ """
2563
+ If true, http and https requests will be cached separately.
2564
+ """
2565
+ included_cookie_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2566
+ """
2567
+ Names of Cookies to include in cache keys. The cookie name and cookie value of each cookie named will be used as part of the cache key.
2568
+ Cookie names:
2569
+ - must be valid RFC 6265 "cookie-name" tokens
2570
+ - are case sensitive
2571
+ - cannot start with "Edge-Cache-" (case insensitive)
2572
+ Note that specifying several cookies, and/or cookies that have a large range of values (e.g., per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance.
2573
+ You may specify up to three cookie names.
2574
+ """
2575
+ included_header_names: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2576
+ """
2577
+ Names of HTTP request headers to include in cache keys. The value of the header field will be used as part of the cache key.
2578
+ - Header names must be valid HTTP RFC 7230 header field values.
2579
+ - Header field names are case insensitive
2580
+ - To include the HTTP method, use ":method"
2581
+ Note that specifying several headers, and/or headers that have a large range of values (e.g. per-user) will dramatically impact the cache hit rate, and may result in a higher eviction rate and reduced performance.
2582
+ """
2583
+ included_query_parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2584
+ """
2585
+ Names of query string parameters to include in cache keys. All other parameters will be excluded.
2586
+ Either specify includedQueryParameters or excludedQueryParameters, not both. '&' and '=' will be percent encoded and not treated as delimiters.
2587
+ """
2588
+ elif False:
2589
+ EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicyArgsDict: TypeAlias = Mapping[str, Any]
2590
+
1856
2591
  @pulumi.input_type
1857
2592
  class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPolicyArgs:
1858
2593
  def __init__(__self__, *,
@@ -2008,6 +2743,24 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicyCacheKeyPol
2008
2743
  pulumi.set(self, "included_query_parameters", value)
2009
2744
 
2010
2745
 
2746
+ if not MYPY:
2747
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedTokenOptionsArgsDict(TypedDict):
2748
+ allowed_signature_algorithms: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2749
+ """
2750
+ The allowed signature algorithms to use.
2751
+ Defaults to using only ED25519.
2752
+ You may specify up to 3 signature algorithms to use.
2753
+ Each value may be one of: `ED25519`, `HMAC_SHA_256`, `HMAC_SHA1`.
2754
+ """
2755
+ token_query_parameter: NotRequired[pulumi.Input[str]]
2756
+ """
2757
+ The query parameter in which to find the token.
2758
+ The name must be 1-64 characters long and match the regular expression `a-zA-Z*` which means the first character must be a letter, and all following characters must be a dash, underscore, letter or digit.
2759
+ Defaults to `edge-cache-token`.
2760
+ """
2761
+ elif False:
2762
+ EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedTokenOptionsArgsDict: TypeAlias = Mapping[str, Any]
2763
+
2011
2764
  @pulumi.input_type
2012
2765
  class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedTokenOptionsArgs:
2013
2766
  def __init__(__self__, *,
@@ -2057,6 +2810,45 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCdnPolicySignedToken
2057
2810
  pulumi.set(self, "token_query_parameter", value)
2058
2811
 
2059
2812
 
2813
+ if not MYPY:
2814
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgsDict(TypedDict):
2815
+ max_age: pulumi.Input[str]
2816
+ """
2817
+ Specifies how long results of a preflight request can be cached by a client in seconds. Note that many browser clients enforce a maximum TTL of 600s (10 minutes).
2818
+ - Setting the value to -1 forces a pre-flight check for all requests (not recommended)
2819
+ - A maximum TTL of 86400s can be set, but note that (as above) some clients may force pre-flight checks at a more regular interval.
2820
+ - This translates to the Access-Control-Max-Age header.
2821
+ A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
2822
+ """
2823
+ allow_credentials: NotRequired[pulumi.Input[bool]]
2824
+ """
2825
+ In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
2826
+ This translates to the Access-Control-Allow-Credentials response header.
2827
+ """
2828
+ allow_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2829
+ """
2830
+ Specifies the content for the Access-Control-Allow-Headers response header.
2831
+ """
2832
+ allow_methods: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2833
+ """
2834
+ Specifies the content for the Access-Control-Allow-Methods response header.
2835
+ """
2836
+ allow_origins: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2837
+ """
2838
+ Specifies the list of origins that will be allowed to do CORS requests.
2839
+ This translates to the Access-Control-Allow-Origin response header.
2840
+ """
2841
+ disabled: NotRequired[pulumi.Input[bool]]
2842
+ """
2843
+ If true, specifies the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
2844
+ """
2845
+ expose_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2846
+ """
2847
+ Specifies the content for the Access-Control-Allow-Headers response header.
2848
+ """
2849
+ elif False:
2850
+ EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgsDict: TypeAlias = Mapping[str, Any]
2851
+
2060
2852
  @pulumi.input_type
2061
2853
  class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgs:
2062
2854
  def __init__(__self__, *,
@@ -2187,6 +2979,33 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionCorsPolicyArgs:
2187
2979
  pulumi.set(self, "expose_headers", value)
2188
2980
 
2189
2981
 
2982
+ if not MYPY:
2983
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgsDict(TypedDict):
2984
+ host_rewrite: NotRequired[pulumi.Input[str]]
2985
+ """
2986
+ Prior to forwarding the request to the selected origin, the request's host header is replaced with contents of hostRewrite.
2987
+ """
2988
+ path_prefix_rewrite: NotRequired[pulumi.Input[str]]
2989
+ """
2990
+ Prior to forwarding the request to the selected origin, the matching portion of the request's path is replaced by pathPrefixRewrite.
2991
+ """
2992
+ path_template_rewrite: NotRequired[pulumi.Input[str]]
2993
+ """
2994
+ Prior to forwarding the request to the selected origin, if the
2995
+ request matched a pathTemplateMatch, the matching portion of the
2996
+ request's path is replaced re-written using the pattern specified
2997
+ by pathTemplateRewrite.
2998
+ pathTemplateRewrite must be between 1 and 255 characters
2999
+ (inclusive), must start with a '/', and must only use variables
3000
+ captured by the route's pathTemplate matchers.
3001
+ pathTemplateRewrite may only be used when all of a route's
3002
+ MatchRules specify pathTemplate.
3003
+ Only one of pathPrefixRewrite and pathTemplateRewrite may be
3004
+ specified.
3005
+ """
3006
+ elif False:
3007
+ EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgsDict: TypeAlias = Mapping[str, Any]
3008
+
2190
3009
  @pulumi.input_type
2191
3010
  class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgs:
2192
3011
  def __init__(__self__, *,
@@ -2262,6 +3081,48 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleRouteActionUrlRewriteArgs:
2262
3081
  pulumi.set(self, "path_template_rewrite", value)
2263
3082
 
2264
3083
 
3084
+ if not MYPY:
3085
+ class EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirectArgsDict(TypedDict):
3086
+ host_redirect: NotRequired[pulumi.Input[str]]
3087
+ """
3088
+ The host that will be used in the redirect response instead of the one that was supplied in the request.
3089
+ """
3090
+ https_redirect: NotRequired[pulumi.Input[bool]]
3091
+ """
3092
+ If set to true, the URL scheme in the redirected request is set to https. If set to false, the URL scheme of the redirected request will remain the same as that of the request.
3093
+ This can only be set if there is at least one (1) edgeSslCertificate set on the service.
3094
+ """
3095
+ path_redirect: NotRequired[pulumi.Input[str]]
3096
+ """
3097
+ The path that will be used in the redirect response instead of the one that was supplied in the request.
3098
+ pathRedirect cannot be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
3099
+ The path value must be between 1 and 1024 characters.
3100
+ """
3101
+ prefix_redirect: NotRequired[pulumi.Input[str]]
3102
+ """
3103
+ The prefix that replaces the prefixMatch specified in the routeRule, retaining the remaining portion of the URL before redirecting the request.
3104
+ prefixRedirect cannot be supplied together with pathRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
3105
+ """
3106
+ redirect_response_code: NotRequired[pulumi.Input[str]]
3107
+ """
3108
+ The HTTP Status code to use for this RedirectAction.
3109
+ The supported values are:
3110
+ - `MOVED_PERMANENTLY_DEFAULT`, which is the default value and corresponds to 301.
3111
+ - `FOUND`, which corresponds to 302.
3112
+ - `SEE_OTHER` which corresponds to 303.
3113
+ - `TEMPORARY_REDIRECT`, which corresponds to 307. in this case, the request method will be retained.
3114
+ - `PERMANENT_REDIRECT`, which corresponds to 308. in this case, the request method will be retained.
3115
+ Possible values are: `MOVED_PERMANENTLY_DEFAULT`, `FOUND`, `SEE_OTHER`, `TEMPORARY_REDIRECT`, `PERMANENT_REDIRECT`.
3116
+ """
3117
+ strip_query: NotRequired[pulumi.Input[bool]]
3118
+ """
3119
+ If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request. If set to false, the query portion of the original URL is retained.
3120
+
3121
+ - - -
3122
+ """
3123
+ elif False:
3124
+ EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirectArgsDict: TypeAlias = Mapping[str, Any]
3125
+
2265
3126
  @pulumi.input_type
2266
3127
  class EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirectArgs:
2267
3128
  def __init__(__self__, *,
@@ -2391,6 +3252,16 @@ class EdgeCacheServiceRoutingPathMatcherRouteRuleUrlRedirectArgs:
2391
3252
  pulumi.set(self, "strip_query", value)
2392
3253
 
2393
3254
 
3255
+ if not MYPY:
3256
+ class EndpointPolicyEndpointMatcherArgsDict(TypedDict):
3257
+ metadata_label_matcher: pulumi.Input['EndpointPolicyEndpointMatcherMetadataLabelMatcherArgsDict']
3258
+ """
3259
+ The matcher is based on node metadata presented by xDS clients.
3260
+ Structure is documented below.
3261
+ """
3262
+ elif False:
3263
+ EndpointPolicyEndpointMatcherArgsDict: TypeAlias = Mapping[str, Any]
3264
+
2394
3265
  @pulumi.input_type
2395
3266
  class EndpointPolicyEndpointMatcherArgs:
2396
3267
  def __init__(__self__, *,
@@ -2415,6 +3286,21 @@ class EndpointPolicyEndpointMatcherArgs:
2415
3286
  pulumi.set(self, "metadata_label_matcher", value)
2416
3287
 
2417
3288
 
3289
+ if not MYPY:
3290
+ class EndpointPolicyEndpointMatcherMetadataLabelMatcherArgsDict(TypedDict):
3291
+ metadata_label_match_criteria: pulumi.Input[str]
3292
+ """
3293
+ Specifies how matching should be done.
3294
+ Possible values are: `MATCH_ANY`, `MATCH_ALL`.
3295
+ """
3296
+ metadata_labels: NotRequired[pulumi.Input[Sequence[pulumi.Input['EndpointPolicyEndpointMatcherMetadataLabelMatcherMetadataLabelArgsDict']]]]
3297
+ """
3298
+ The list of label value pairs that must match labels in the provided metadata based on filterMatchCriteria
3299
+ Structure is documented below.
3300
+ """
3301
+ elif False:
3302
+ EndpointPolicyEndpointMatcherMetadataLabelMatcherArgsDict: TypeAlias = Mapping[str, Any]
3303
+
2418
3304
  @pulumi.input_type
2419
3305
  class EndpointPolicyEndpointMatcherMetadataLabelMatcherArgs:
2420
3306
  def __init__(__self__, *,
@@ -2457,6 +3343,21 @@ class EndpointPolicyEndpointMatcherMetadataLabelMatcherArgs:
2457
3343
  pulumi.set(self, "metadata_labels", value)
2458
3344
 
2459
3345
 
3346
+ if not MYPY:
3347
+ class EndpointPolicyEndpointMatcherMetadataLabelMatcherMetadataLabelArgsDict(TypedDict):
3348
+ label_name: pulumi.Input[str]
3349
+ """
3350
+ Required. Label name presented as key in xDS Node Metadata.
3351
+ """
3352
+ label_value: pulumi.Input[str]
3353
+ """
3354
+ Required. Label value presented as value corresponding to the above key, in xDS Node Metadata.
3355
+
3356
+ - - -
3357
+ """
3358
+ elif False:
3359
+ EndpointPolicyEndpointMatcherMetadataLabelMatcherMetadataLabelArgsDict: TypeAlias = Mapping[str, Any]
3360
+
2460
3361
  @pulumi.input_type
2461
3362
  class EndpointPolicyEndpointMatcherMetadataLabelMatcherMetadataLabelArgs:
2462
3363
  def __init__(__self__, *,
@@ -2498,6 +3399,15 @@ class EndpointPolicyEndpointMatcherMetadataLabelMatcherMetadataLabelArgs:
2498
3399
  pulumi.set(self, "label_value", value)
2499
3400
 
2500
3401
 
3402
+ if not MYPY:
3403
+ class EndpointPolicyTrafficPortSelectorArgsDict(TypedDict):
3404
+ ports: pulumi.Input[Sequence[pulumi.Input[str]]]
3405
+ """
3406
+ List of ports. Can be port numbers or port range (example, [80-90] specifies all ports from 80 to 90, including 80 and 90) or named ports or * to specify all ports. If the list is empty, all ports are selected.
3407
+ """
3408
+ elif False:
3409
+ EndpointPolicyTrafficPortSelectorArgsDict: TypeAlias = Mapping[str, Any]
3410
+
2501
3411
  @pulumi.input_type
2502
3412
  class EndpointPolicyTrafficPortSelectorArgs:
2503
3413
  def __init__(__self__, *,
@@ -2520,6 +3430,21 @@ class EndpointPolicyTrafficPortSelectorArgs:
2520
3430
  pulumi.set(self, "ports", value)
2521
3431
 
2522
3432
 
3433
+ if not MYPY:
3434
+ class GrpcRouteRuleArgsDict(TypedDict):
3435
+ action: NotRequired[pulumi.Input['GrpcRouteRuleActionArgsDict']]
3436
+ """
3437
+ Required. A detailed rule defining how to route traffic.
3438
+ Structure is documented below.
3439
+ """
3440
+ matches: NotRequired[pulumi.Input[Sequence[pulumi.Input['GrpcRouteRuleMatchArgsDict']]]]
3441
+ """
3442
+ Matches define conditions used for matching the rule against incoming gRPC requests.
3443
+ Structure is documented below.
3444
+ """
3445
+ elif False:
3446
+ GrpcRouteRuleArgsDict: TypeAlias = Mapping[str, Any]
3447
+
2523
3448
  @pulumi.input_type
2524
3449
  class GrpcRouteRuleArgs:
2525
3450
  def __init__(__self__, *,
@@ -2563,6 +3488,30 @@ class GrpcRouteRuleArgs:
2563
3488
  pulumi.set(self, "matches", value)
2564
3489
 
2565
3490
 
3491
+ if not MYPY:
3492
+ class GrpcRouteRuleActionArgsDict(TypedDict):
3493
+ destinations: NotRequired[pulumi.Input[Sequence[pulumi.Input['GrpcRouteRuleActionDestinationArgsDict']]]]
3494
+ """
3495
+ The destination to which traffic should be forwarded.
3496
+ Structure is documented below.
3497
+ """
3498
+ fault_injection_policy: NotRequired[pulumi.Input['GrpcRouteRuleActionFaultInjectionPolicyArgsDict']]
3499
+ """
3500
+ The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
3501
+ Structure is documented below.
3502
+ """
3503
+ retry_policy: NotRequired[pulumi.Input['GrpcRouteRuleActionRetryPolicyArgsDict']]
3504
+ """
3505
+ Specifies the retry policy associated with this route.
3506
+ Structure is documented below.
3507
+ """
3508
+ timeout: NotRequired[pulumi.Input[str]]
3509
+ """
3510
+ Specifies the timeout for selected route.
3511
+ """
3512
+ elif False:
3513
+ GrpcRouteRuleActionArgsDict: TypeAlias = Mapping[str, Any]
3514
+
2566
3515
  @pulumi.input_type
2567
3516
  class GrpcRouteRuleActionArgs:
2568
3517
  def __init__(__self__, *,
@@ -2640,6 +3589,19 @@ class GrpcRouteRuleActionArgs:
2640
3589
  pulumi.set(self, "timeout", value)
2641
3590
 
2642
3591
 
3592
+ if not MYPY:
3593
+ class GrpcRouteRuleActionDestinationArgsDict(TypedDict):
3594
+ service_name: NotRequired[pulumi.Input[str]]
3595
+ """
3596
+ The URL of a BackendService to route traffic to.
3597
+ """
3598
+ weight: NotRequired[pulumi.Input[int]]
3599
+ """
3600
+ Specifies the proportion of requests forwarded to the backend referenced by the serviceName field.
3601
+ """
3602
+ elif False:
3603
+ GrpcRouteRuleActionDestinationArgsDict: TypeAlias = Mapping[str, Any]
3604
+
2643
3605
  @pulumi.input_type
2644
3606
  class GrpcRouteRuleActionDestinationArgs:
2645
3607
  def __init__(__self__, *,
@@ -2679,6 +3641,21 @@ class GrpcRouteRuleActionDestinationArgs:
2679
3641
  pulumi.set(self, "weight", value)
2680
3642
 
2681
3643
 
3644
+ if not MYPY:
3645
+ class GrpcRouteRuleActionFaultInjectionPolicyArgsDict(TypedDict):
3646
+ abort: NotRequired[pulumi.Input['GrpcRouteRuleActionFaultInjectionPolicyAbortArgsDict']]
3647
+ """
3648
+ Specification of how client requests are aborted as part of fault injection before being sent to a destination.
3649
+ Structure is documented below.
3650
+ """
3651
+ delay: NotRequired[pulumi.Input['GrpcRouteRuleActionFaultInjectionPolicyDelayArgsDict']]
3652
+ """
3653
+ Specification of how client requests are delayed as part of fault injection before being sent to a destination.
3654
+ Structure is documented below.
3655
+ """
3656
+ elif False:
3657
+ GrpcRouteRuleActionFaultInjectionPolicyArgsDict: TypeAlias = Mapping[str, Any]
3658
+
2682
3659
  @pulumi.input_type
2683
3660
  class GrpcRouteRuleActionFaultInjectionPolicyArgs:
2684
3661
  def __init__(__self__, *,
@@ -2722,6 +3699,19 @@ class GrpcRouteRuleActionFaultInjectionPolicyArgs:
2722
3699
  pulumi.set(self, "delay", value)
2723
3700
 
2724
3701
 
3702
+ if not MYPY:
3703
+ class GrpcRouteRuleActionFaultInjectionPolicyAbortArgsDict(TypedDict):
3704
+ http_status: NotRequired[pulumi.Input[int]]
3705
+ """
3706
+ The HTTP status code used to abort the request.
3707
+ """
3708
+ percentage: NotRequired[pulumi.Input[int]]
3709
+ """
3710
+ The percentage of traffic which will be aborted.
3711
+ """
3712
+ elif False:
3713
+ GrpcRouteRuleActionFaultInjectionPolicyAbortArgsDict: TypeAlias = Mapping[str, Any]
3714
+
2725
3715
  @pulumi.input_type
2726
3716
  class GrpcRouteRuleActionFaultInjectionPolicyAbortArgs:
2727
3717
  def __init__(__self__, *,
@@ -2761,6 +3751,19 @@ class GrpcRouteRuleActionFaultInjectionPolicyAbortArgs:
2761
3751
  pulumi.set(self, "percentage", value)
2762
3752
 
2763
3753
 
3754
+ if not MYPY:
3755
+ class GrpcRouteRuleActionFaultInjectionPolicyDelayArgsDict(TypedDict):
3756
+ fixed_delay: NotRequired[pulumi.Input[str]]
3757
+ """
3758
+ Specify a fixed delay before forwarding the request.
3759
+ """
3760
+ percentage: NotRequired[pulumi.Input[int]]
3761
+ """
3762
+ The percentage of traffic on which delay will be injected.
3763
+ """
3764
+ elif False:
3765
+ GrpcRouteRuleActionFaultInjectionPolicyDelayArgsDict: TypeAlias = Mapping[str, Any]
3766
+
2764
3767
  @pulumi.input_type
2765
3768
  class GrpcRouteRuleActionFaultInjectionPolicyDelayArgs:
2766
3769
  def __init__(__self__, *,
@@ -2800,6 +3803,22 @@ class GrpcRouteRuleActionFaultInjectionPolicyDelayArgs:
2800
3803
  pulumi.set(self, "percentage", value)
2801
3804
 
2802
3805
 
3806
+ if not MYPY:
3807
+ class GrpcRouteRuleActionRetryPolicyArgsDict(TypedDict):
3808
+ num_retries: NotRequired[pulumi.Input[int]]
3809
+ """
3810
+ Specifies the allowed number of retries.
3811
+
3812
+ - - -
3813
+ """
3814
+ retry_conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
3815
+ """
3816
+ Specifies one or more conditions when this retry policy applies.
3817
+ Each value may be one of: `connect-failure`, `refused-stream`, `cancelled`, `deadline-exceeded`, `resource-exhausted`, `unavailable`.
3818
+ """
3819
+ elif False:
3820
+ GrpcRouteRuleActionRetryPolicyArgsDict: TypeAlias = Mapping[str, Any]
3821
+
2803
3822
  @pulumi.input_type
2804
3823
  class GrpcRouteRuleActionRetryPolicyArgs:
2805
3824
  def __init__(__self__, *,
@@ -2845,6 +3864,21 @@ class GrpcRouteRuleActionRetryPolicyArgs:
2845
3864
  pulumi.set(self, "retry_conditions", value)
2846
3865
 
2847
3866
 
3867
+ if not MYPY:
3868
+ class GrpcRouteRuleMatchArgsDict(TypedDict):
3869
+ headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['GrpcRouteRuleMatchHeaderArgsDict']]]]
3870
+ """
3871
+ Specifies a list of HTTP request headers to match against.
3872
+ Structure is documented below.
3873
+ """
3874
+ method: NotRequired[pulumi.Input['GrpcRouteRuleMatchMethodArgsDict']]
3875
+ """
3876
+ A gRPC method to match against. If this field is empty or omitted, will match all methods.
3877
+ Structure is documented below.
3878
+ """
3879
+ elif False:
3880
+ GrpcRouteRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
3881
+
2848
3882
  @pulumi.input_type
2849
3883
  class GrpcRouteRuleMatchArgs:
2850
3884
  def __init__(__self__, *,
@@ -2888,6 +3922,25 @@ class GrpcRouteRuleMatchArgs:
2888
3922
  pulumi.set(self, "method", value)
2889
3923
 
2890
3924
 
3925
+ if not MYPY:
3926
+ class GrpcRouteRuleMatchHeaderArgsDict(TypedDict):
3927
+ key: pulumi.Input[str]
3928
+ """
3929
+ Required. The key of the header.
3930
+ """
3931
+ value: pulumi.Input[str]
3932
+ """
3933
+ Required. The value of the header.
3934
+ """
3935
+ type: NotRequired[pulumi.Input[str]]
3936
+ """
3937
+ The type of match.
3938
+ Default value is `EXACT`.
3939
+ Possible values are: `TYPE_UNSPECIFIED`, `EXACT`, `REGULAR_EXPRESSION`.
3940
+ """
3941
+ elif False:
3942
+ GrpcRouteRuleMatchHeaderArgsDict: TypeAlias = Mapping[str, Any]
3943
+
2891
3944
  @pulumi.input_type
2892
3945
  class GrpcRouteRuleMatchHeaderArgs:
2893
3946
  def __init__(__self__, *,
@@ -2945,6 +3998,23 @@ class GrpcRouteRuleMatchHeaderArgs:
2945
3998
  pulumi.set(self, "type", value)
2946
3999
 
2947
4000
 
4001
+ if not MYPY:
4002
+ class GrpcRouteRuleMatchMethodArgsDict(TypedDict):
4003
+ grpc_method: pulumi.Input[str]
4004
+ """
4005
+ Required. Name of the method to match against.
4006
+ """
4007
+ grpc_service: pulumi.Input[str]
4008
+ """
4009
+ Required. Name of the service to match against.
4010
+ """
4011
+ case_sensitive: NotRequired[pulumi.Input[bool]]
4012
+ """
4013
+ Specifies that matches are case sensitive. The default value is true.
4014
+ """
4015
+ elif False:
4016
+ GrpcRouteRuleMatchMethodArgsDict: TypeAlias = Mapping[str, Any]
4017
+
2948
4018
  @pulumi.input_type
2949
4019
  class GrpcRouteRuleMatchMethodArgs:
2950
4020
  def __init__(__self__, *,
@@ -2998,6 +4068,23 @@ class GrpcRouteRuleMatchMethodArgs:
2998
4068
  pulumi.set(self, "case_sensitive", value)
2999
4069
 
3000
4070
 
4071
+ if not MYPY:
4072
+ class HttpRouteRuleArgsDict(TypedDict):
4073
+ action: NotRequired[pulumi.Input['HttpRouteRuleActionArgsDict']]
4074
+ """
4075
+ The detailed rule defining how to route matched traffic.
4076
+ Structure is documented below.
4077
+ """
4078
+ matches: NotRequired[pulumi.Input[Sequence[pulumi.Input['HttpRouteRuleMatchArgsDict']]]]
4079
+ """
4080
+ A list of matches define conditions used for matching the rule against incoming HTTP requests. Each match is independent, i.e. this rule will be matched if ANY one of the matches is satisfied.
4081
+ If no matches field is specified, this rule will unconditionally match traffic.
4082
+ If a default rule is desired to be configured, add a rule with no matches specified to the end of the rules list.
4083
+ Structure is documented below.
4084
+ """
4085
+ elif False:
4086
+ HttpRouteRuleArgsDict: TypeAlias = Mapping[str, Any]
4087
+
3001
4088
  @pulumi.input_type
3002
4089
  class HttpRouteRuleArgs:
3003
4090
  def __init__(__self__, *,
@@ -3045,6 +4132,60 @@ class HttpRouteRuleArgs:
3045
4132
  pulumi.set(self, "matches", value)
3046
4133
 
3047
4134
 
4135
+ if not MYPY:
4136
+ class HttpRouteRuleActionArgsDict(TypedDict):
4137
+ cors_policy: NotRequired[pulumi.Input['HttpRouteRuleActionCorsPolicyArgsDict']]
4138
+ """
4139
+ The specification for allowing client side cross-origin requests.
4140
+ Structure is documented below.
4141
+ """
4142
+ destinations: NotRequired[pulumi.Input[Sequence[pulumi.Input['HttpRouteRuleActionDestinationArgsDict']]]]
4143
+ """
4144
+ The destination to which traffic should be forwarded.
4145
+ Structure is documented below.
4146
+ """
4147
+ fault_injection_policy: NotRequired[pulumi.Input['HttpRouteRuleActionFaultInjectionPolicyArgsDict']]
4148
+ """
4149
+ The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
4150
+ Structure is documented below.
4151
+ """
4152
+ redirect: NotRequired[pulumi.Input['HttpRouteRuleActionRedirectArgsDict']]
4153
+ """
4154
+ If set, the request is directed as configured by this field.
4155
+ Structure is documented below.
4156
+ """
4157
+ request_header_modifier: NotRequired[pulumi.Input['HttpRouteRuleActionRequestHeaderModifierArgsDict']]
4158
+ """
4159
+ The specification for modifying the headers of a matching request prior to delivery of the request to the destination.
4160
+ Structure is documented below.
4161
+ """
4162
+ request_mirror_policy: NotRequired[pulumi.Input['HttpRouteRuleActionRequestMirrorPolicyArgsDict']]
4163
+ """
4164
+ Specifies the policy on how requests intended for the routes destination are shadowed to a separate mirrored destination.
4165
+ Structure is documented below.
4166
+ """
4167
+ response_header_modifier: NotRequired[pulumi.Input['HttpRouteRuleActionResponseHeaderModifierArgsDict']]
4168
+ """
4169
+ The specification for modifying the headers of a response prior to sending the response back to the client.
4170
+ Structure is documented below.
4171
+ """
4172
+ retry_policy: NotRequired[pulumi.Input['HttpRouteRuleActionRetryPolicyArgsDict']]
4173
+ """
4174
+ Specifies the retry policy associated with this route.
4175
+ Structure is documented below.
4176
+ """
4177
+ timeout: NotRequired[pulumi.Input[str]]
4178
+ """
4179
+ Specifies the timeout for selected route.
4180
+ """
4181
+ url_rewrite: NotRequired[pulumi.Input['HttpRouteRuleActionUrlRewriteArgsDict']]
4182
+ """
4183
+ The specification for rewrite URL before forwarding requests to the destination.
4184
+ Structure is documented below.
4185
+ """
4186
+ elif False:
4187
+ HttpRouteRuleActionArgsDict: TypeAlias = Mapping[str, Any]
4188
+
3048
4189
  @pulumi.input_type
3049
4190
  class HttpRouteRuleActionArgs:
3050
4191
  def __init__(__self__, *,
@@ -3230,6 +4371,45 @@ class HttpRouteRuleActionArgs:
3230
4371
  pulumi.set(self, "url_rewrite", value)
3231
4372
 
3232
4373
 
4374
+ if not MYPY:
4375
+ class HttpRouteRuleActionCorsPolicyArgsDict(TypedDict):
4376
+ allow_credentials: NotRequired[pulumi.Input[bool]]
4377
+ """
4378
+ In response to a preflight request, setting this to true indicates that the actual request can include user credentials.
4379
+ """
4380
+ allow_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4381
+ """
4382
+ Specifies the content for Access-Control-Allow-Headers header.
4383
+ """
4384
+ allow_methods: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4385
+ """
4386
+ Specifies the content for Access-Control-Allow-Methods header.
4387
+ """
4388
+ allow_origin_regexes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4389
+ """
4390
+ Specifies the regular expression patterns that match allowed origins.
4391
+ """
4392
+ allow_origins: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4393
+ """
4394
+ Specifies the list of origins that will be allowed to do CORS requests.
4395
+ """
4396
+ disabled: NotRequired[pulumi.Input[bool]]
4397
+ """
4398
+ If true, the CORS policy is disabled. The default value is false, which indicates that the CORS policy is in effect.
4399
+
4400
+ - - -
4401
+ """
4402
+ expose_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4403
+ """
4404
+ Specifies the content for Access-Control-Expose-Headers header.
4405
+ """
4406
+ max_age: NotRequired[pulumi.Input[str]]
4407
+ """
4408
+ Specifies how long result of a preflight request can be cached in seconds.
4409
+ """
4410
+ elif False:
4411
+ HttpRouteRuleActionCorsPolicyArgsDict: TypeAlias = Mapping[str, Any]
4412
+
3233
4413
  @pulumi.input_type
3234
4414
  class HttpRouteRuleActionCorsPolicyArgs:
3235
4415
  def __init__(__self__, *,
@@ -3369,6 +4549,22 @@ class HttpRouteRuleActionCorsPolicyArgs:
3369
4549
  pulumi.set(self, "max_age", value)
3370
4550
 
3371
4551
 
4552
+ if not MYPY:
4553
+ class HttpRouteRuleActionDestinationArgsDict(TypedDict):
4554
+ service_name: NotRequired[pulumi.Input[str]]
4555
+ """
4556
+ The URL of a BackendService to route traffic to.
4557
+ """
4558
+ weight: NotRequired[pulumi.Input[int]]
4559
+ """
4560
+ Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
4561
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
4562
+ If weights are specified for any one service name, they need to be specified for all of them.
4563
+ If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
4564
+ """
4565
+ elif False:
4566
+ HttpRouteRuleActionDestinationArgsDict: TypeAlias = Mapping[str, Any]
4567
+
3372
4568
  @pulumi.input_type
3373
4569
  class HttpRouteRuleActionDestinationArgs:
3374
4570
  def __init__(__self__, *,
@@ -3414,6 +4610,21 @@ class HttpRouteRuleActionDestinationArgs:
3414
4610
  pulumi.set(self, "weight", value)
3415
4611
 
3416
4612
 
4613
+ if not MYPY:
4614
+ class HttpRouteRuleActionFaultInjectionPolicyArgsDict(TypedDict):
4615
+ abort: NotRequired[pulumi.Input['HttpRouteRuleActionFaultInjectionPolicyAbortArgsDict']]
4616
+ """
4617
+ Specification of how client requests are aborted as part of fault injection before being sent to a destination.
4618
+ Structure is documented below.
4619
+ """
4620
+ delay: NotRequired[pulumi.Input['HttpRouteRuleActionFaultInjectionPolicyDelayArgsDict']]
4621
+ """
4622
+ Specification of how client requests are delayed as part of fault injection before being sent to a destination.
4623
+ Structure is documented below.
4624
+ """
4625
+ elif False:
4626
+ HttpRouteRuleActionFaultInjectionPolicyArgsDict: TypeAlias = Mapping[str, Any]
4627
+
3417
4628
  @pulumi.input_type
3418
4629
  class HttpRouteRuleActionFaultInjectionPolicyArgs:
3419
4630
  def __init__(__self__, *,
@@ -3457,6 +4668,19 @@ class HttpRouteRuleActionFaultInjectionPolicyArgs:
3457
4668
  pulumi.set(self, "delay", value)
3458
4669
 
3459
4670
 
4671
+ if not MYPY:
4672
+ class HttpRouteRuleActionFaultInjectionPolicyAbortArgsDict(TypedDict):
4673
+ http_status: NotRequired[pulumi.Input[int]]
4674
+ """
4675
+ The HTTP status code used to abort the request.
4676
+ """
4677
+ percentage: NotRequired[pulumi.Input[int]]
4678
+ """
4679
+ The percentage of traffic which will be aborted.
4680
+ """
4681
+ elif False:
4682
+ HttpRouteRuleActionFaultInjectionPolicyAbortArgsDict: TypeAlias = Mapping[str, Any]
4683
+
3460
4684
  @pulumi.input_type
3461
4685
  class HttpRouteRuleActionFaultInjectionPolicyAbortArgs:
3462
4686
  def __init__(__self__, *,
@@ -3496,6 +4720,19 @@ class HttpRouteRuleActionFaultInjectionPolicyAbortArgs:
3496
4720
  pulumi.set(self, "percentage", value)
3497
4721
 
3498
4722
 
4723
+ if not MYPY:
4724
+ class HttpRouteRuleActionFaultInjectionPolicyDelayArgsDict(TypedDict):
4725
+ fixed_delay: NotRequired[pulumi.Input[str]]
4726
+ """
4727
+ Specify a fixed delay before forwarding the request.
4728
+ """
4729
+ percentage: NotRequired[pulumi.Input[int]]
4730
+ """
4731
+ The percentage of traffic on which delay will be injected.
4732
+ """
4733
+ elif False:
4734
+ HttpRouteRuleActionFaultInjectionPolicyDelayArgsDict: TypeAlias = Mapping[str, Any]
4735
+
3499
4736
  @pulumi.input_type
3500
4737
  class HttpRouteRuleActionFaultInjectionPolicyDelayArgs:
3501
4738
  def __init__(__self__, *,
@@ -3535,6 +4772,39 @@ class HttpRouteRuleActionFaultInjectionPolicyDelayArgs:
3535
4772
  pulumi.set(self, "percentage", value)
3536
4773
 
3537
4774
 
4775
+ if not MYPY:
4776
+ class HttpRouteRuleActionRedirectArgsDict(TypedDict):
4777
+ host_redirect: NotRequired[pulumi.Input[str]]
4778
+ """
4779
+ The host that will be used in the redirect response instead of the one that was supplied in the request.
4780
+ """
4781
+ https_redirect: NotRequired[pulumi.Input[bool]]
4782
+ """
4783
+ If set to true, the URL scheme in the redirected request is set to https.
4784
+ """
4785
+ path_redirect: NotRequired[pulumi.Input[str]]
4786
+ """
4787
+ The path that will be used in the redirect response instead of the one that was supplied in the request. pathRedirect can not be supplied together with prefixRedirect. Supply one alone or neither. If neither is supplied, the path of the original request will be used for the redirect.
4788
+ """
4789
+ port_redirect: NotRequired[pulumi.Input[int]]
4790
+ """
4791
+ The port that will be used in the redirected request instead of the one that was supplied in the request.
4792
+ """
4793
+ prefix_rewrite: NotRequired[pulumi.Input[str]]
4794
+ """
4795
+ Indicates that during redirection, the matched prefix (or path) should be swapped with this value.
4796
+ """
4797
+ response_code: NotRequired[pulumi.Input[str]]
4798
+ """
4799
+ The HTTP Status code to use for the redirect.
4800
+ """
4801
+ strip_query: NotRequired[pulumi.Input[bool]]
4802
+ """
4803
+ If set to true, any accompanying query portion of the original URL is removed prior to redirecting the request.
4804
+ """
4805
+ elif False:
4806
+ HttpRouteRuleActionRedirectArgsDict: TypeAlias = Mapping[str, Any]
4807
+
3538
4808
  @pulumi.input_type
3539
4809
  class HttpRouteRuleActionRedirectArgs:
3540
4810
  def __init__(__self__, *,
@@ -3654,6 +4924,23 @@ class HttpRouteRuleActionRedirectArgs:
3654
4924
  pulumi.set(self, "strip_query", value)
3655
4925
 
3656
4926
 
4927
+ if not MYPY:
4928
+ class HttpRouteRuleActionRequestHeaderModifierArgsDict(TypedDict):
4929
+ add: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
4930
+ """
4931
+ Add the headers with given map where key is the name of the header, value is the value of the header.
4932
+ """
4933
+ removes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
4934
+ """
4935
+ Remove headers (matching by header names) specified in the list.
4936
+ """
4937
+ set: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
4938
+ """
4939
+ Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
4940
+ """
4941
+ elif False:
4942
+ HttpRouteRuleActionRequestHeaderModifierArgsDict: TypeAlias = Mapping[str, Any]
4943
+
3657
4944
  @pulumi.input_type
3658
4945
  class HttpRouteRuleActionRequestHeaderModifierArgs:
3659
4946
  def __init__(__self__, *,
@@ -3709,6 +4996,16 @@ class HttpRouteRuleActionRequestHeaderModifierArgs:
3709
4996
  pulumi.set(self, "set", value)
3710
4997
 
3711
4998
 
4999
+ if not MYPY:
5000
+ class HttpRouteRuleActionRequestMirrorPolicyArgsDict(TypedDict):
5001
+ destination: NotRequired[pulumi.Input['HttpRouteRuleActionRequestMirrorPolicyDestinationArgsDict']]
5002
+ """
5003
+ The destination the requests will be mirrored to.
5004
+ Structure is documented below.
5005
+ """
5006
+ elif False:
5007
+ HttpRouteRuleActionRequestMirrorPolicyArgsDict: TypeAlias = Mapping[str, Any]
5008
+
3712
5009
  @pulumi.input_type
3713
5010
  class HttpRouteRuleActionRequestMirrorPolicyArgs:
3714
5011
  def __init__(__self__, *,
@@ -3734,6 +5031,22 @@ class HttpRouteRuleActionRequestMirrorPolicyArgs:
3734
5031
  pulumi.set(self, "destination", value)
3735
5032
 
3736
5033
 
5034
+ if not MYPY:
5035
+ class HttpRouteRuleActionRequestMirrorPolicyDestinationArgsDict(TypedDict):
5036
+ service_name: NotRequired[pulumi.Input[str]]
5037
+ """
5038
+ The URL of a BackendService to route traffic to.
5039
+ """
5040
+ weight: NotRequired[pulumi.Input[int]]
5041
+ """
5042
+ Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
5043
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
5044
+ If weights are specified for any one service name, they need to be specified for all of them.
5045
+ If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
5046
+ """
5047
+ elif False:
5048
+ HttpRouteRuleActionRequestMirrorPolicyDestinationArgsDict: TypeAlias = Mapping[str, Any]
5049
+
3737
5050
  @pulumi.input_type
3738
5051
  class HttpRouteRuleActionRequestMirrorPolicyDestinationArgs:
3739
5052
  def __init__(__self__, *,
@@ -3779,6 +5092,23 @@ class HttpRouteRuleActionRequestMirrorPolicyDestinationArgs:
3779
5092
  pulumi.set(self, "weight", value)
3780
5093
 
3781
5094
 
5095
+ if not MYPY:
5096
+ class HttpRouteRuleActionResponseHeaderModifierArgsDict(TypedDict):
5097
+ add: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
5098
+ """
5099
+ Add the headers with given map where key is the name of the header, value is the value of the header.
5100
+ """
5101
+ removes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
5102
+ """
5103
+ Remove headers (matching by header names) specified in the list.
5104
+ """
5105
+ set: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
5106
+ """
5107
+ Completely overwrite/replace the headers with given map where key is the name of the header, value is the value of the header.
5108
+ """
5109
+ elif False:
5110
+ HttpRouteRuleActionResponseHeaderModifierArgsDict: TypeAlias = Mapping[str, Any]
5111
+
3782
5112
  @pulumi.input_type
3783
5113
  class HttpRouteRuleActionResponseHeaderModifierArgs:
3784
5114
  def __init__(__self__, *,
@@ -3834,6 +5164,23 @@ class HttpRouteRuleActionResponseHeaderModifierArgs:
3834
5164
  pulumi.set(self, "set", value)
3835
5165
 
3836
5166
 
5167
+ if not MYPY:
5168
+ class HttpRouteRuleActionRetryPolicyArgsDict(TypedDict):
5169
+ num_retries: NotRequired[pulumi.Input[int]]
5170
+ """
5171
+ Specifies the allowed number of retries.
5172
+ """
5173
+ per_try_timeout: NotRequired[pulumi.Input[str]]
5174
+ """
5175
+ Specifies a non-zero timeout per retry attempt. A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
5176
+ """
5177
+ retry_conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
5178
+ """
5179
+ Specifies one or more conditions when this retry policy applies.
5180
+ """
5181
+ elif False:
5182
+ HttpRouteRuleActionRetryPolicyArgsDict: TypeAlias = Mapping[str, Any]
5183
+
3837
5184
  @pulumi.input_type
3838
5185
  class HttpRouteRuleActionRetryPolicyArgs:
3839
5186
  def __init__(__self__, *,
@@ -3889,6 +5236,19 @@ class HttpRouteRuleActionRetryPolicyArgs:
3889
5236
  pulumi.set(self, "retry_conditions", value)
3890
5237
 
3891
5238
 
5239
+ if not MYPY:
5240
+ class HttpRouteRuleActionUrlRewriteArgsDict(TypedDict):
5241
+ host_rewrite: NotRequired[pulumi.Input[str]]
5242
+ """
5243
+ Prior to forwarding the request to the selected destination, the requests host header is replaced by this value.
5244
+ """
5245
+ path_prefix_rewrite: NotRequired[pulumi.Input[str]]
5246
+ """
5247
+ Prior to forwarding the request to the selected destination, the matching portion of the requests path is replaced by this value.
5248
+ """
5249
+ elif False:
5250
+ HttpRouteRuleActionUrlRewriteArgsDict: TypeAlias = Mapping[str, Any]
5251
+
3892
5252
  @pulumi.input_type
3893
5253
  class HttpRouteRuleActionUrlRewriteArgs:
3894
5254
  def __init__(__self__, *,
@@ -3928,6 +5288,37 @@ class HttpRouteRuleActionUrlRewriteArgs:
3928
5288
  pulumi.set(self, "path_prefix_rewrite", value)
3929
5289
 
3930
5290
 
5291
+ if not MYPY:
5292
+ class HttpRouteRuleMatchArgsDict(TypedDict):
5293
+ full_path_match: NotRequired[pulumi.Input[str]]
5294
+ """
5295
+ The HTTP request path value should exactly match this value.
5296
+ """
5297
+ headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['HttpRouteRuleMatchHeaderArgsDict']]]]
5298
+ """
5299
+ Specifies a list of HTTP request headers to match against.
5300
+ Structure is documented below.
5301
+ """
5302
+ ignore_case: NotRequired[pulumi.Input[bool]]
5303
+ """
5304
+ Specifies if prefixMatch and fullPathMatch matches are case sensitive. The default value is false.
5305
+ """
5306
+ prefix_match: NotRequired[pulumi.Input[str]]
5307
+ """
5308
+ The HTTP request path value must begin with specified prefixMatch. prefixMatch must begin with a /.
5309
+ """
5310
+ query_parameters: NotRequired[pulumi.Input[Sequence[pulumi.Input['HttpRouteRuleMatchQueryParameterArgsDict']]]]
5311
+ """
5312
+ Specifies a list of query parameters to match against.
5313
+ Structure is documented below.
5314
+ """
5315
+ regex_match: NotRequired[pulumi.Input[str]]
5316
+ """
5317
+ The HTTP request path value must satisfy the regular expression specified by regexMatch after removing any query parameters and anchor supplied with the original URL. For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
5318
+ """
5319
+ elif False:
5320
+ HttpRouteRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
5321
+
3931
5322
  @pulumi.input_type
3932
5323
  class HttpRouteRuleMatchArgs:
3933
5324
  def __init__(__self__, *,
@@ -4035,6 +5426,44 @@ class HttpRouteRuleMatchArgs:
4035
5426
  pulumi.set(self, "regex_match", value)
4036
5427
 
4037
5428
 
5429
+ if not MYPY:
5430
+ class HttpRouteRuleMatchHeaderArgsDict(TypedDict):
5431
+ exact_match: NotRequired[pulumi.Input[str]]
5432
+ """
5433
+ The value of the header should match exactly the content of exactMatch.
5434
+ """
5435
+ header: NotRequired[pulumi.Input[str]]
5436
+ """
5437
+ The name of the HTTP header to match against.
5438
+ """
5439
+ invert_match: NotRequired[pulumi.Input[bool]]
5440
+ """
5441
+ If specified, the match result will be inverted before checking. Default value is set to false.
5442
+ """
5443
+ prefix_match: NotRequired[pulumi.Input[str]]
5444
+ """
5445
+ The value of the header must start with the contents of prefixMatch.
5446
+ """
5447
+ present_match: NotRequired[pulumi.Input[bool]]
5448
+ """
5449
+ A header with headerName must exist. The match takes place whether or not the header has a value.
5450
+ """
5451
+ range_match: NotRequired[pulumi.Input['HttpRouteRuleMatchHeaderRangeMatchArgsDict']]
5452
+ """
5453
+ If specified, the rule will match if the request header value is within the range.
5454
+ Structure is documented below.
5455
+ """
5456
+ regex_match: NotRequired[pulumi.Input[str]]
5457
+ """
5458
+ The value of the header must match the regular expression specified in regexMatch.
5459
+ """
5460
+ suffix_match: NotRequired[pulumi.Input[str]]
5461
+ """
5462
+ The value of the header must end with the contents of suffixMatch.
5463
+ """
5464
+ elif False:
5465
+ HttpRouteRuleMatchHeaderArgsDict: TypeAlias = Mapping[str, Any]
5466
+
4038
5467
  @pulumi.input_type
4039
5468
  class HttpRouteRuleMatchHeaderArgs:
4040
5469
  def __init__(__self__, *,
@@ -4172,6 +5601,19 @@ class HttpRouteRuleMatchHeaderArgs:
4172
5601
  pulumi.set(self, "suffix_match", value)
4173
5602
 
4174
5603
 
5604
+ if not MYPY:
5605
+ class HttpRouteRuleMatchHeaderRangeMatchArgsDict(TypedDict):
5606
+ end: pulumi.Input[int]
5607
+ """
5608
+ End of the range (exclusive).
5609
+ """
5610
+ start: pulumi.Input[int]
5611
+ """
5612
+ Start of the range (inclusive).
5613
+ """
5614
+ elif False:
5615
+ HttpRouteRuleMatchHeaderRangeMatchArgsDict: TypeAlias = Mapping[str, Any]
5616
+
4175
5617
  @pulumi.input_type
4176
5618
  class HttpRouteRuleMatchHeaderRangeMatchArgs:
4177
5619
  def __init__(__self__, *,
@@ -4209,6 +5651,27 @@ class HttpRouteRuleMatchHeaderRangeMatchArgs:
4209
5651
  pulumi.set(self, "start", value)
4210
5652
 
4211
5653
 
5654
+ if not MYPY:
5655
+ class HttpRouteRuleMatchQueryParameterArgsDict(TypedDict):
5656
+ exact_match: NotRequired[pulumi.Input[str]]
5657
+ """
5658
+ The value of the query parameter must exactly match the contents of exactMatch.
5659
+ """
5660
+ present_match: NotRequired[pulumi.Input[bool]]
5661
+ """
5662
+ Specifies that the QueryParameterMatcher matches if request contains query parameter, irrespective of whether the parameter has a value or not.
5663
+ """
5664
+ query_parameter: NotRequired[pulumi.Input[str]]
5665
+ """
5666
+ The name of the query parameter to match.
5667
+ """
5668
+ regex_match: NotRequired[pulumi.Input[str]]
5669
+ """
5670
+ The value of the query parameter must match the regular expression specified by regexMatch.For regular expression grammar, please see https://github.com/google/re2/wiki/Syntax
5671
+ """
5672
+ elif False:
5673
+ HttpRouteRuleMatchQueryParameterArgsDict: TypeAlias = Mapping[str, Any]
5674
+
4212
5675
  @pulumi.input_type
4213
5676
  class HttpRouteRuleMatchQueryParameterArgs:
4214
5677
  def __init__(__self__, *,
@@ -4280,6 +5743,30 @@ class HttpRouteRuleMatchQueryParameterArgs:
4280
5743
  pulumi.set(self, "regex_match", value)
4281
5744
 
4282
5745
 
5746
+ if not MYPY:
5747
+ class LbRouteExtensionExtensionChainArgsDict(TypedDict):
5748
+ extensions: pulumi.Input[Sequence[pulumi.Input['LbRouteExtensionExtensionChainExtensionArgsDict']]]
5749
+ """
5750
+ A set of extensions to execute for the matching request.
5751
+ At least one extension is required. Up to 3 extensions can be defined for each extension chain for
5752
+ LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain.
5753
+ Structure is documented below.
5754
+ """
5755
+ match_condition: pulumi.Input['LbRouteExtensionExtensionChainMatchConditionArgsDict']
5756
+ """
5757
+ Conditions under which this chain is invoked for a request.
5758
+ Structure is documented below.
5759
+ """
5760
+ name: pulumi.Input[str]
5761
+ """
5762
+ The name for this extension chain. The name is logged as part of the HTTP request logs.
5763
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
5764
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
5765
+ and the last character must be a letter or a number.
5766
+ """
5767
+ elif False:
5768
+ LbRouteExtensionExtensionChainArgsDict: TypeAlias = Mapping[str, Any]
5769
+
4283
5770
  @pulumi.input_type
4284
5771
  class LbRouteExtensionExtensionChainArgs:
4285
5772
  def __init__(__self__, *,
@@ -4346,6 +5833,47 @@ class LbRouteExtensionExtensionChainArgs:
4346
5833
  pulumi.set(self, "name", value)
4347
5834
 
4348
5835
 
5836
+ if not MYPY:
5837
+ class LbRouteExtensionExtensionChainExtensionArgsDict(TypedDict):
5838
+ name: pulumi.Input[str]
5839
+ """
5840
+ The name for this extension. The name is logged as part of the HTTP request logs.
5841
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
5842
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
5843
+ and the last a letter or a number.
5844
+ """
5845
+ service: pulumi.Input[str]
5846
+ """
5847
+ The reference to the service that runs the extension. Must be a reference to a backend service
5848
+ """
5849
+ authority: NotRequired[pulumi.Input[str]]
5850
+ """
5851
+ The :authority header in the gRPC request sent from Envoy to the extension service.
5852
+ """
5853
+ fail_open: NotRequired[pulumi.Input[bool]]
5854
+ """
5855
+ Determines how the proxy behaves if the call to the extension fails or times out.
5856
+ When set to TRUE, request or response processing continues without error.
5857
+ Any subsequent extensions in the extension chain are also executed.
5858
+ When set to FALSE: * If response headers have not been delivered to the downstream client,
5859
+ a generic 500 error is returned to the client. The error response can be tailored by
5860
+ configuring a custom error response in the load balancer.
5861
+ """
5862
+ forward_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
5863
+ """
5864
+ List of the HTTP headers to forward to the extension (from the client or backend).
5865
+ If omitted, all headers are sent. Each element is a string indicating the header name.
5866
+
5867
+ - - -
5868
+ """
5869
+ timeout: NotRequired[pulumi.Input[str]]
5870
+ """
5871
+ Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
5872
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
5873
+ """
5874
+ elif False:
5875
+ LbRouteExtensionExtensionChainExtensionArgsDict: TypeAlias = Mapping[str, Any]
5876
+
4349
5877
  @pulumi.input_type
4350
5878
  class LbRouteExtensionExtensionChainExtensionArgs:
4351
5879
  def __init__(__self__, *,
@@ -4471,6 +5999,15 @@ class LbRouteExtensionExtensionChainExtensionArgs:
4471
5999
  pulumi.set(self, "timeout", value)
4472
6000
 
4473
6001
 
6002
+ if not MYPY:
6003
+ class LbRouteExtensionExtensionChainMatchConditionArgsDict(TypedDict):
6004
+ cel_expression: pulumi.Input[str]
6005
+ """
6006
+ A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
6007
+ """
6008
+ elif False:
6009
+ LbRouteExtensionExtensionChainMatchConditionArgsDict: TypeAlias = Mapping[str, Any]
6010
+
4474
6011
  @pulumi.input_type
4475
6012
  class LbRouteExtensionExtensionChainMatchConditionArgs:
4476
6013
  def __init__(__self__, *,
@@ -4493,6 +6030,30 @@ class LbRouteExtensionExtensionChainMatchConditionArgs:
4493
6030
  pulumi.set(self, "cel_expression", value)
4494
6031
 
4495
6032
 
6033
+ if not MYPY:
6034
+ class LbTrafficExtensionExtensionChainArgsDict(TypedDict):
6035
+ extensions: pulumi.Input[Sequence[pulumi.Input['LbTrafficExtensionExtensionChainExtensionArgsDict']]]
6036
+ """
6037
+ A set of extensions to execute for the matching request.
6038
+ At least one extension is required. Up to 3 extensions can be defined for each extension chain for
6039
+ LbTrafficExtension resource. LbRouteExtension chains are limited to 1 extension per extension chain.
6040
+ Structure is documented below.
6041
+ """
6042
+ match_condition: pulumi.Input['LbTrafficExtensionExtensionChainMatchConditionArgsDict']
6043
+ """
6044
+ Conditions under which this chain is invoked for a request.
6045
+ Structure is documented below.
6046
+ """
6047
+ name: pulumi.Input[str]
6048
+ """
6049
+ The name for this extension chain. The name is logged as part of the HTTP request logs.
6050
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
6051
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
6052
+ and the last a letter or a number.
6053
+ """
6054
+ elif False:
6055
+ LbTrafficExtensionExtensionChainArgsDict: TypeAlias = Mapping[str, Any]
6056
+
4496
6057
  @pulumi.input_type
4497
6058
  class LbTrafficExtensionExtensionChainArgs:
4498
6059
  def __init__(__self__, *,
@@ -4559,6 +6120,54 @@ class LbTrafficExtensionExtensionChainArgs:
4559
6120
  pulumi.set(self, "name", value)
4560
6121
 
4561
6122
 
6123
+ if not MYPY:
6124
+ class LbTrafficExtensionExtensionChainExtensionArgsDict(TypedDict):
6125
+ name: pulumi.Input[str]
6126
+ """
6127
+ The name for this extension. The name is logged as part of the HTTP request logs.
6128
+ The name must conform with RFC-1034, is restricted to lower-cased letters, numbers and hyphens,
6129
+ and can have a maximum length of 63 characters. Additionally, the first character must be a letter
6130
+ and the last a letter or a number.
6131
+ """
6132
+ service: pulumi.Input[str]
6133
+ """
6134
+ The reference to the service that runs the extension. Must be a reference to a backend service
6135
+ """
6136
+ authority: NotRequired[pulumi.Input[str]]
6137
+ """
6138
+ The :authority header in the gRPC request sent from Envoy to the extension service.
6139
+ """
6140
+ fail_open: NotRequired[pulumi.Input[bool]]
6141
+ """
6142
+ Determines how the proxy behaves if the call to the extension fails or times out.
6143
+ When set to TRUE, request or response processing continues without error.
6144
+ Any subsequent extensions in the extension chain are also executed.
6145
+ When set to FALSE: * If response headers have not been delivered to the downstream client,
6146
+ a generic 500 error is returned to the client. The error response can be tailored by
6147
+ configuring a custom error response in the load balancer.
6148
+ """
6149
+ forward_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
6150
+ """
6151
+ List of the HTTP headers to forward to the extension (from the client or backend).
6152
+ If omitted, all headers are sent. Each element is a string indicating the header name.
6153
+ """
6154
+ supported_events: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
6155
+ """
6156
+ A set of events during request or response processing for which this extension is called.
6157
+ This field is required for the LbTrafficExtension resource. It's not relevant for the LbRouteExtension
6158
+ resource. Possible values:`EVENT_TYPE_UNSPECIFIED`, `REQUEST_HEADERS`, `REQUEST_BODY`, `RESPONSE_HEADERS`,
6159
+ `RESPONSE_BODY`, `RESPONSE_BODY` and `RESPONSE_BODY`.
6160
+
6161
+ - - -
6162
+ """
6163
+ timeout: NotRequired[pulumi.Input[str]]
6164
+ """
6165
+ Specifies the timeout for each individual message on the stream. The timeout must be between 10-1000 milliseconds.
6166
+ A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
6167
+ """
6168
+ elif False:
6169
+ LbTrafficExtensionExtensionChainExtensionArgsDict: TypeAlias = Mapping[str, Any]
6170
+
4562
6171
  @pulumi.input_type
4563
6172
  class LbTrafficExtensionExtensionChainExtensionArgs:
4564
6173
  def __init__(__self__, *,
@@ -4706,6 +6315,15 @@ class LbTrafficExtensionExtensionChainExtensionArgs:
4706
6315
  pulumi.set(self, "timeout", value)
4707
6316
 
4708
6317
 
6318
+ if not MYPY:
6319
+ class LbTrafficExtensionExtensionChainMatchConditionArgsDict(TypedDict):
6320
+ cel_expression: pulumi.Input[str]
6321
+ """
6322
+ A Common Expression Language (CEL) expression that is used to match requests for which the extension chain is executed.
6323
+ """
6324
+ elif False:
6325
+ LbTrafficExtensionExtensionChainMatchConditionArgsDict: TypeAlias = Mapping[str, Any]
6326
+
4709
6327
  @pulumi.input_type
4710
6328
  class LbTrafficExtensionExtensionChainMatchConditionArgs:
4711
6329
  def __init__(__self__, *,
@@ -4728,6 +6346,15 @@ class LbTrafficExtensionExtensionChainMatchConditionArgs:
4728
6346
  pulumi.set(self, "cel_expression", value)
4729
6347
 
4730
6348
 
6349
+ if not MYPY:
6350
+ class ServiceLbPoliciesAutoCapacityDrainArgsDict(TypedDict):
6351
+ enable: NotRequired[pulumi.Input[bool]]
6352
+ """
6353
+ Optional. If set to 'True', an unhealthy MIG/NEG will be set as drained. - An MIG/NEG is considered unhealthy if less than 25% of the instances/endpoints in the MIG/NEG are healthy. - This option will never result in draining more than 50% of the configured IGs/NEGs for the Backend Service.
6354
+ """
6355
+ elif False:
6356
+ ServiceLbPoliciesAutoCapacityDrainArgsDict: TypeAlias = Mapping[str, Any]
6357
+
4731
6358
  @pulumi.input_type
4732
6359
  class ServiceLbPoliciesAutoCapacityDrainArgs:
4733
6360
  def __init__(__self__, *,
@@ -4751,6 +6378,15 @@ class ServiceLbPoliciesAutoCapacityDrainArgs:
4751
6378
  pulumi.set(self, "enable", value)
4752
6379
 
4753
6380
 
6381
+ if not MYPY:
6382
+ class ServiceLbPoliciesFailoverConfigArgsDict(TypedDict):
6383
+ failover_health_threshold: pulumi.Input[int]
6384
+ """
6385
+ Optional. The percentage threshold that a load balancer will begin to send traffic to failover backends. If the percentage of endpoints in a MIG/NEG is smaller than this value, traffic would be sent to failover backends if possible. This field should be set to a value between 1 and 99. The default value is 50 for Global external HTTP(S) load balancer (classic) and Proxyless service mesh, and 70 for others.
6386
+ """
6387
+ elif False:
6388
+ ServiceLbPoliciesFailoverConfigArgsDict: TypeAlias = Mapping[str, Any]
6389
+
4754
6390
  @pulumi.input_type
4755
6391
  class ServiceLbPoliciesFailoverConfigArgs:
4756
6392
  def __init__(__self__, *,
@@ -4773,6 +6409,22 @@ class ServiceLbPoliciesFailoverConfigArgs:
4773
6409
  pulumi.set(self, "failover_health_threshold", value)
4774
6410
 
4775
6411
 
6412
+ if not MYPY:
6413
+ class TcpRouteRuleArgsDict(TypedDict):
6414
+ action: pulumi.Input['TcpRouteRuleActionArgsDict']
6415
+ """
6416
+ A detailed rule defining how to route traffic.
6417
+ Structure is documented below.
6418
+ """
6419
+ matches: NotRequired[pulumi.Input[Sequence[pulumi.Input['TcpRouteRuleMatchArgsDict']]]]
6420
+ """
6421
+ RouteMatch defines the predicate used to match requests to a given action. Multiple match types are "OR"ed for evaluation.
6422
+ If no routeMatch field is specified, this rule will unconditionally match traffic.
6423
+ Structure is documented below.
6424
+ """
6425
+ elif False:
6426
+ TcpRouteRuleArgsDict: TypeAlias = Mapping[str, Any]
6427
+
4776
6428
  @pulumi.input_type
4777
6429
  class TcpRouteRuleArgs:
4778
6430
  def __init__(__self__, *,
@@ -4817,6 +6469,20 @@ class TcpRouteRuleArgs:
4817
6469
  pulumi.set(self, "matches", value)
4818
6470
 
4819
6471
 
6472
+ if not MYPY:
6473
+ class TcpRouteRuleActionArgsDict(TypedDict):
6474
+ destinations: NotRequired[pulumi.Input[Sequence[pulumi.Input['TcpRouteRuleActionDestinationArgsDict']]]]
6475
+ """
6476
+ The destination services to which traffic should be forwarded. At least one destination service is required.
6477
+ Structure is documented below.
6478
+ """
6479
+ original_destination: NotRequired[pulumi.Input[bool]]
6480
+ """
6481
+ If true, Router will use the destination IP and port of the original connection as the destination of the request.
6482
+ """
6483
+ elif False:
6484
+ TcpRouteRuleActionArgsDict: TypeAlias = Mapping[str, Any]
6485
+
4820
6486
  @pulumi.input_type
4821
6487
  class TcpRouteRuleActionArgs:
4822
6488
  def __init__(__self__, *,
@@ -4858,6 +6524,24 @@ class TcpRouteRuleActionArgs:
4858
6524
  pulumi.set(self, "original_destination", value)
4859
6525
 
4860
6526
 
6527
+ if not MYPY:
6528
+ class TcpRouteRuleActionDestinationArgsDict(TypedDict):
6529
+ service_name: NotRequired[pulumi.Input[str]]
6530
+ """
6531
+ The URL of a BackendService to route traffic to.
6532
+ """
6533
+ weight: NotRequired[pulumi.Input[int]]
6534
+ """
6535
+ Specifies the proportion of requests forwarded to the backend referenced by the serviceName field. This is computed as: weight/Sum(weights in this destination list). For non-zero values, there may be some epsilon from the exact proportion defined here depending on the precision an implementation supports.
6536
+ If only one serviceName is specified and it has a weight greater than 0, 100% of the traffic is forwarded to that backend.
6537
+ If weights are specified for any one service name, they need to be specified for all of them.
6538
+ If weights are unspecified for all services, then, traffic is distributed in equal proportions to all of them.
6539
+
6540
+ - - -
6541
+ """
6542
+ elif False:
6543
+ TcpRouteRuleActionDestinationArgsDict: TypeAlias = Mapping[str, Any]
6544
+
4861
6545
  @pulumi.input_type
4862
6546
  class TcpRouteRuleActionDestinationArgs:
4863
6547
  def __init__(__self__, *,
@@ -4907,6 +6591,20 @@ class TcpRouteRuleActionDestinationArgs:
4907
6591
  pulumi.set(self, "weight", value)
4908
6592
 
4909
6593
 
6594
+ if not MYPY:
6595
+ class TcpRouteRuleMatchArgsDict(TypedDict):
6596
+ address: pulumi.Input[str]
6597
+ """
6598
+ Must be specified in the CIDR range format. A CIDR range consists of an IP Address and a prefix length to construct the subnet mask.
6599
+ By default, the prefix length is 32 (i.e. matches a single IP address). Only IPV4 addresses are supported. Examples: "10.0.0.1" - matches against this exact IP address. "10.0.0.0/8" - matches against any IP address within the 10.0.0.0 subnet and 255.255.255.0 mask. "0.0.0.0/0" - matches against any IP address'.
6600
+ """
6601
+ port: pulumi.Input[str]
6602
+ """
6603
+ Specifies the destination port to match against.
6604
+ """
6605
+ elif False:
6606
+ TcpRouteRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
6607
+
4910
6608
  @pulumi.input_type
4911
6609
  class TcpRouteRuleMatchArgs:
4912
6610
  def __init__(__self__, *,
@@ -4946,6 +6644,21 @@ class TcpRouteRuleMatchArgs:
4946
6644
  pulumi.set(self, "port", value)
4947
6645
 
4948
6646
 
6647
+ if not MYPY:
6648
+ class TlsRouteRuleArgsDict(TypedDict):
6649
+ action: pulumi.Input['TlsRouteRuleActionArgsDict']
6650
+ """
6651
+ Required. A detailed rule defining how to route traffic.
6652
+ Structure is documented below.
6653
+ """
6654
+ matches: pulumi.Input[Sequence[pulumi.Input['TlsRouteRuleMatchArgsDict']]]
6655
+ """
6656
+ Matches define the predicate used to match requests to a given action.
6657
+ Structure is documented below.
6658
+ """
6659
+ elif False:
6660
+ TlsRouteRuleArgsDict: TypeAlias = Mapping[str, Any]
6661
+
4949
6662
  @pulumi.input_type
4950
6663
  class TlsRouteRuleArgs:
4951
6664
  def __init__(__self__, *,
@@ -4987,6 +6700,16 @@ class TlsRouteRuleArgs:
4987
6700
  pulumi.set(self, "matches", value)
4988
6701
 
4989
6702
 
6703
+ if not MYPY:
6704
+ class TlsRouteRuleActionArgsDict(TypedDict):
6705
+ destinations: NotRequired[pulumi.Input[Sequence[pulumi.Input['TlsRouteRuleActionDestinationArgsDict']]]]
6706
+ """
6707
+ The destination to which traffic should be forwarded.
6708
+ Structure is documented below.
6709
+ """
6710
+ elif False:
6711
+ TlsRouteRuleActionArgsDict: TypeAlias = Mapping[str, Any]
6712
+
4990
6713
  @pulumi.input_type
4991
6714
  class TlsRouteRuleActionArgs:
4992
6715
  def __init__(__self__, *,
@@ -5012,6 +6735,21 @@ class TlsRouteRuleActionArgs:
5012
6735
  pulumi.set(self, "destinations", value)
5013
6736
 
5014
6737
 
6738
+ if not MYPY:
6739
+ class TlsRouteRuleActionDestinationArgsDict(TypedDict):
6740
+ service_name: NotRequired[pulumi.Input[str]]
6741
+ """
6742
+ The URL of a BackendService to route traffic to.
6743
+ """
6744
+ weight: NotRequired[pulumi.Input[int]]
6745
+ """
6746
+ Specifies the proportion of requests forwarded to the backend referenced by the serviceName field.
6747
+
6748
+ - - -
6749
+ """
6750
+ elif False:
6751
+ TlsRouteRuleActionDestinationArgsDict: TypeAlias = Mapping[str, Any]
6752
+
5015
6753
  @pulumi.input_type
5016
6754
  class TlsRouteRuleActionDestinationArgs:
5017
6755
  def __init__(__self__, *,
@@ -5055,6 +6793,20 @@ class TlsRouteRuleActionDestinationArgs:
5055
6793
  pulumi.set(self, "weight", value)
5056
6794
 
5057
6795
 
6796
+ if not MYPY:
6797
+ class TlsRouteRuleMatchArgsDict(TypedDict):
6798
+ alpns: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
6799
+ """
6800
+ ALPN (Application-Layer Protocol Negotiation) to match against. Examples: "http/1.1", "h2". At least one of sniHost and alpn is required. Up to 5 alpns across all matches can be set.
6801
+ """
6802
+ sni_hosts: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
6803
+ """
6804
+ SNI (server name indicator) to match against. SNI will be matched against all wildcard domains, i.e. www.example.com will be first matched against www.example.com, then *.example.com, then *.com.
6805
+ Partial wildcards are not supported, and values like *w.example.com are invalid. At least one of sniHost and alpn is required. Up to 5 sni hosts across all matches can be set.
6806
+ """
6807
+ elif False:
6808
+ TlsRouteRuleMatchArgsDict: TypeAlias = Mapping[str, Any]
6809
+
5058
6810
  @pulumi.input_type
5059
6811
  class TlsRouteRuleMatchArgs:
5060
6812
  def __init__(__self__, *,