pulumi-gcp 7.30.0a1719470057__py3-none-any.whl → 7.30.0a1719513455__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 (1478) hide show
  1. pulumi_gcp/_inputs.py +15 -0
  2. pulumi_gcp/accessapproval/get_folder_service_account.py +5 -0
  3. pulumi_gcp/accessapproval/get_organization_service_account.py +5 -0
  4. pulumi_gcp/accessapproval/get_project_service_account.py +5 -0
  5. pulumi_gcp/accesscontextmanager/_inputs.py +2066 -6
  6. pulumi_gcp/accesscontextmanager/access_level.py +37 -32
  7. pulumi_gcp/accesscontextmanager/access_level_condition.py +53 -48
  8. pulumi_gcp/accesscontextmanager/access_levels.py +70 -65
  9. pulumi_gcp/accesscontextmanager/access_policy.py +5 -0
  10. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +24 -19
  11. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +24 -19
  12. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +21 -16
  13. pulumi_gcp/accesscontextmanager/authorized_orgs_desc.py +5 -0
  14. pulumi_gcp/accesscontextmanager/egress_policy.py +5 -0
  15. pulumi_gcp/accesscontextmanager/gcp_user_access_binding.py +33 -28
  16. pulumi_gcp/accesscontextmanager/get_access_policy_iam_policy.py +5 -0
  17. pulumi_gcp/accesscontextmanager/ingress_policy.py +5 -0
  18. pulumi_gcp/accesscontextmanager/outputs.py +5 -0
  19. pulumi_gcp/accesscontextmanager/service_perimeter.py +201 -196
  20. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +11 -6
  21. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +15 -10
  22. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +15 -10
  23. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +11 -6
  24. pulumi_gcp/accesscontextmanager/service_perimeters.py +60 -55
  25. pulumi_gcp/activedirectory/domain.py +5 -0
  26. pulumi_gcp/activedirectory/domain_trust.py +5 -0
  27. pulumi_gcp/activedirectory/peering.py +5 -0
  28. pulumi_gcp/alloydb/_inputs.py +535 -0
  29. pulumi_gcp/alloydb/backup.py +26 -21
  30. pulumi_gcp/alloydb/cluster.py +177 -172
  31. pulumi_gcp/alloydb/get_locations.py +5 -0
  32. pulumi_gcp/alloydb/get_supported_database_flags.py +5 -0
  33. pulumi_gcp/alloydb/instance.py +77 -72
  34. pulumi_gcp/alloydb/outputs.py +5 -0
  35. pulumi_gcp/alloydb/user.py +17 -12
  36. pulumi_gcp/apigateway/_inputs.py +168 -0
  37. pulumi_gcp/apigateway/api.py +5 -0
  38. pulumi_gcp/apigateway/api_config.py +25 -20
  39. pulumi_gcp/apigateway/api_config_iam_binding.py +24 -19
  40. pulumi_gcp/apigateway/api_config_iam_member.py +24 -19
  41. pulumi_gcp/apigateway/api_config_iam_policy.py +21 -16
  42. pulumi_gcp/apigateway/api_iam_binding.py +24 -19
  43. pulumi_gcp/apigateway/api_iam_member.py +24 -19
  44. pulumi_gcp/apigateway/api_iam_policy.py +21 -16
  45. pulumi_gcp/apigateway/gateway.py +5 -0
  46. pulumi_gcp/apigateway/gateway_iam_binding.py +24 -19
  47. pulumi_gcp/apigateway/gateway_iam_member.py +24 -19
  48. pulumi_gcp/apigateway/gateway_iam_policy.py +21 -16
  49. pulumi_gcp/apigateway/get_api_config_iam_policy.py +5 -0
  50. pulumi_gcp/apigateway/get_api_iam_policy.py +5 -0
  51. pulumi_gcp/apigateway/get_gateway_iam_policy.py +5 -0
  52. pulumi_gcp/apigateway/outputs.py +5 -0
  53. pulumi_gcp/apigee/_inputs.py +508 -0
  54. pulumi_gcp/apigee/addons_config.py +60 -55
  55. pulumi_gcp/apigee/endpoint_attachment.py +5 -0
  56. pulumi_gcp/apigee/env_group.py +5 -0
  57. pulumi_gcp/apigee/env_group_attachment.py +5 -0
  58. pulumi_gcp/apigee/env_keystore.py +5 -0
  59. pulumi_gcp/apigee/env_references.py +5 -0
  60. pulumi_gcp/apigee/environment.py +10 -5
  61. pulumi_gcp/apigee/environment_iam_binding.py +24 -19
  62. pulumi_gcp/apigee/environment_iam_member.py +24 -19
  63. pulumi_gcp/apigee/environment_iam_policy.py +21 -16
  64. pulumi_gcp/apigee/flowhook.py +5 -0
  65. pulumi_gcp/apigee/get_environment_iam_policy.py +5 -0
  66. pulumi_gcp/apigee/instance.py +5 -0
  67. pulumi_gcp/apigee/instance_attachment.py +5 -0
  68. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +10 -5
  69. pulumi_gcp/apigee/keystores_aliases_pkcs12.py +7 -2
  70. pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +31 -26
  71. pulumi_gcp/apigee/nat_address.py +5 -0
  72. pulumi_gcp/apigee/organization.py +10 -5
  73. pulumi_gcp/apigee/outputs.py +5 -0
  74. pulumi_gcp/apigee/sharedflow.py +7 -2
  75. pulumi_gcp/apigee/sharedflow_deployment.py +5 -0
  76. pulumi_gcp/apigee/sync_authorization.py +5 -0
  77. pulumi_gcp/apigee/target_server.py +10 -5
  78. pulumi_gcp/appengine/_inputs.py +990 -7
  79. pulumi_gcp/appengine/application.py +17 -12
  80. pulumi_gcp/appengine/application_url_dispatch_rules.py +46 -41
  81. pulumi_gcp/appengine/domain_mapping.py +18 -13
  82. pulumi_gcp/appengine/engine_split_traffic.py +50 -45
  83. pulumi_gcp/appengine/firewall_rule.py +5 -0
  84. pulumi_gcp/appengine/flexible_app_version.py +130 -125
  85. pulumi_gcp/appengine/get_default_service_account.py +5 -0
  86. pulumi_gcp/appengine/outputs.py +5 -0
  87. pulumi_gcp/appengine/service_network_settings.py +32 -27
  88. pulumi_gcp/appengine/standard_app_version.py +109 -104
  89. pulumi_gcp/apphub/_inputs.py +370 -0
  90. pulumi_gcp/apphub/application.py +67 -62
  91. pulumi_gcp/apphub/get_application.py +5 -0
  92. pulumi_gcp/apphub/get_discovered_service.py +5 -0
  93. pulumi_gcp/apphub/get_discovered_workload.py +5 -0
  94. pulumi_gcp/apphub/outputs.py +5 -0
  95. pulumi_gcp/apphub/service.py +78 -73
  96. pulumi_gcp/apphub/service_project_attachment.py +5 -0
  97. pulumi_gcp/apphub/workload.py +14 -9
  98. pulumi_gcp/applicationintegration/_inputs.py +324 -0
  99. pulumi_gcp/applicationintegration/auth_config.py +29 -24
  100. pulumi_gcp/applicationintegration/client.py +24 -19
  101. pulumi_gcp/applicationintegration/outputs.py +5 -0
  102. pulumi_gcp/artifactregistry/_inputs.py +392 -0
  103. pulumi_gcp/artifactregistry/get_docker_image.py +5 -0
  104. pulumi_gcp/artifactregistry/get_repository.py +5 -0
  105. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +5 -0
  106. pulumi_gcp/artifactregistry/outputs.py +5 -0
  107. pulumi_gcp/artifactregistry/repository.py +338 -333
  108. pulumi_gcp/artifactregistry/repository_iam_binding.py +24 -19
  109. pulumi_gcp/artifactregistry/repository_iam_member.py +24 -19
  110. pulumi_gcp/artifactregistry/repository_iam_policy.py +21 -16
  111. pulumi_gcp/artifactregistry/vpcsc_config.py +5 -0
  112. pulumi_gcp/assuredworkloads/_inputs.py +117 -0
  113. pulumi_gcp/assuredworkloads/outputs.py +5 -0
  114. pulumi_gcp/assuredworkloads/workload.py +86 -81
  115. pulumi_gcp/backupdisasterrecovery/_inputs.py +41 -0
  116. pulumi_gcp/backupdisasterrecovery/get_management_server.py +5 -0
  117. pulumi_gcp/backupdisasterrecovery/management_server.py +20 -15
  118. pulumi_gcp/backupdisasterrecovery/outputs.py +5 -0
  119. pulumi_gcp/beyondcorp/_inputs.py +86 -0
  120. pulumi_gcp/beyondcorp/app_connection.py +57 -52
  121. pulumi_gcp/beyondcorp/app_connector.py +30 -25
  122. pulumi_gcp/beyondcorp/app_gateway.py +7 -2
  123. pulumi_gcp/beyondcorp/get_app_connection.py +5 -0
  124. pulumi_gcp/beyondcorp/get_app_connector.py +5 -0
  125. pulumi_gcp/beyondcorp/get_app_gateway.py +5 -0
  126. pulumi_gcp/beyondcorp/outputs.py +5 -0
  127. pulumi_gcp/biglake/_inputs.py +64 -0
  128. pulumi_gcp/biglake/catalog.py +5 -0
  129. pulumi_gcp/biglake/database.py +18 -13
  130. pulumi_gcp/biglake/outputs.py +5 -0
  131. pulumi_gcp/biglake/table.py +36 -31
  132. pulumi_gcp/bigquery/_inputs.py +1930 -6
  133. pulumi_gcp/bigquery/app_profile.py +133 -128
  134. pulumi_gcp/bigquery/bi_reservation.py +10 -5
  135. pulumi_gcp/bigquery/capacity_commitment.py +5 -0
  136. pulumi_gcp/bigquery/connection.py +181 -176
  137. pulumi_gcp/bigquery/connection_iam_binding.py +24 -19
  138. pulumi_gcp/bigquery/connection_iam_member.py +24 -19
  139. pulumi_gcp/bigquery/connection_iam_policy.py +21 -16
  140. pulumi_gcp/bigquery/data_transfer_config.py +20 -15
  141. pulumi_gcp/bigquery/dataset.py +132 -127
  142. pulumi_gcp/bigquery/dataset_access.py +72 -67
  143. pulumi_gcp/bigquery/dataset_iam_binding.py +24 -19
  144. pulumi_gcp/bigquery/dataset_iam_member.py +24 -19
  145. pulumi_gcp/bigquery/dataset_iam_policy.py +21 -16
  146. pulumi_gcp/bigquery/get_connection_iam_policy.py +5 -0
  147. pulumi_gcp/bigquery/get_dataset.py +5 -0
  148. pulumi_gcp/bigquery/get_dataset_iam_policy.py +5 -0
  149. pulumi_gcp/bigquery/get_default_service_account.py +5 -0
  150. pulumi_gcp/bigquery/get_table_iam_policy.py +5 -0
  151. pulumi_gcp/bigquery/iam_binding.py +102 -97
  152. pulumi_gcp/bigquery/iam_member.py +102 -97
  153. pulumi_gcp/bigquery/iam_policy.py +97 -92
  154. pulumi_gcp/bigquery/job.py +229 -224
  155. pulumi_gcp/bigquery/outputs.py +5 -0
  156. pulumi_gcp/bigquery/reservation.py +16 -11
  157. pulumi_gcp/bigquery/reservation_assignment.py +5 -0
  158. pulumi_gcp/bigquery/routine.py +114 -109
  159. pulumi_gcp/bigquery/table.py +67 -62
  160. pulumi_gcp/bigqueryanalyticshub/_inputs.py +97 -0
  161. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +5 -0
  162. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +24 -19
  163. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +24 -19
  164. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +21 -16
  165. pulumi_gcp/bigqueryanalyticshub/get_data_exchange_iam_policy.py +5 -0
  166. pulumi_gcp/bigqueryanalyticshub/get_listing_iam_policy.py +5 -0
  167. pulumi_gcp/bigqueryanalyticshub/listing.py +45 -40
  168. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +24 -19
  169. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +24 -19
  170. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +21 -16
  171. pulumi_gcp/bigqueryanalyticshub/outputs.py +5 -0
  172. pulumi_gcp/bigquerydatapolicy/_inputs.py +40 -0
  173. pulumi_gcp/bigquerydatapolicy/data_policy.py +24 -19
  174. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +24 -19
  175. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +24 -19
  176. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +21 -16
  177. pulumi_gcp/bigquerydatapolicy/get_iam_policy.py +5 -0
  178. pulumi_gcp/bigquerydatapolicy/outputs.py +5 -0
  179. pulumi_gcp/bigtable/_inputs.py +202 -0
  180. pulumi_gcp/bigtable/authorized_view.py +10 -5
  181. pulumi_gcp/bigtable/gc_policy.py +45 -40
  182. pulumi_gcp/bigtable/get_instance_iam_policy.py +5 -0
  183. pulumi_gcp/bigtable/get_table_iam_policy.py +5 -0
  184. pulumi_gcp/bigtable/instance.py +52 -47
  185. pulumi_gcp/bigtable/instance_iam_binding.py +24 -19
  186. pulumi_gcp/bigtable/instance_iam_member.py +24 -19
  187. pulumi_gcp/bigtable/instance_iam_policy.py +21 -16
  188. pulumi_gcp/bigtable/outputs.py +5 -0
  189. pulumi_gcp/bigtable/table.py +39 -34
  190. pulumi_gcp/bigtable/table_iam_binding.py +24 -19
  191. pulumi_gcp/bigtable/table_iam_member.py +24 -19
  192. pulumi_gcp/bigtable/table_iam_policy.py +21 -16
  193. pulumi_gcp/billing/_inputs.py +257 -0
  194. pulumi_gcp/billing/account_iam_binding.py +24 -19
  195. pulumi_gcp/billing/account_iam_member.py +24 -19
  196. pulumi_gcp/billing/account_iam_policy.py +21 -16
  197. pulumi_gcp/billing/budget.py +225 -220
  198. pulumi_gcp/billing/get_account_iam_policy.py +5 -0
  199. pulumi_gcp/billing/outputs.py +5 -0
  200. pulumi_gcp/billing/project_info.py +5 -0
  201. pulumi_gcp/billing/sub_account.py +5 -0
  202. pulumi_gcp/binaryauthorization/_inputs.py +199 -0
  203. pulumi_gcp/binaryauthorization/attestor.py +68 -63
  204. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +24 -19
  205. pulumi_gcp/binaryauthorization/attestor_iam_member.py +24 -19
  206. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +21 -16
  207. pulumi_gcp/binaryauthorization/get_attestor_iam_policy.py +5 -0
  208. pulumi_gcp/binaryauthorization/outputs.py +5 -0
  209. pulumi_gcp/binaryauthorization/policy.py +88 -83
  210. pulumi_gcp/blockchainnodeengine/_inputs.py +131 -0
  211. pulumi_gcp/blockchainnodeengine/blockchain_nodes.py +62 -57
  212. pulumi_gcp/blockchainnodeengine/outputs.py +5 -0
  213. pulumi_gcp/certificateauthority/_inputs.py +2157 -36
  214. pulumi_gcp/certificateauthority/authority.py +398 -393
  215. pulumi_gcp/certificateauthority/ca_pool.py +189 -184
  216. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +102 -97
  217. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +102 -97
  218. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +97 -92
  219. pulumi_gcp/certificateauthority/certificate.py +636 -631
  220. pulumi_gcp/certificateauthority/certificate_template.py +134 -129
  221. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +102 -97
  222. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +102 -97
  223. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +97 -92
  224. pulumi_gcp/certificateauthority/get_authority.py +5 -0
  225. pulumi_gcp/certificateauthority/get_ca_pool_iam_policy.py +5 -0
  226. pulumi_gcp/certificateauthority/get_certificate_template_iam_policy.py +5 -0
  227. pulumi_gcp/certificateauthority/outputs.py +5 -0
  228. pulumi_gcp/certificatemanager/_inputs.py +256 -0
  229. pulumi_gcp/certificatemanager/certificate.py +203 -198
  230. pulumi_gcp/certificatemanager/certificate_issuance_config.py +76 -71
  231. pulumi_gcp/certificatemanager/certificate_map.py +7 -2
  232. pulumi_gcp/certificatemanager/certificate_map_entry.py +13 -8
  233. pulumi_gcp/certificatemanager/dns_authorization.py +7 -2
  234. pulumi_gcp/certificatemanager/get_certificate_map.py +5 -0
  235. pulumi_gcp/certificatemanager/outputs.py +5 -0
  236. pulumi_gcp/certificatemanager/trust_config.py +26 -21
  237. pulumi_gcp/cloudasset/_inputs.py +151 -0
  238. pulumi_gcp/cloudasset/folder_feed.py +35 -30
  239. pulumi_gcp/cloudasset/get_resources_search_all.py +5 -0
  240. pulumi_gcp/cloudasset/get_search_all_resources.py +5 -0
  241. pulumi_gcp/cloudasset/organization_feed.py +35 -30
  242. pulumi_gcp/cloudasset/outputs.py +5 -0
  243. pulumi_gcp/cloudasset/project_feed.py +35 -30
  244. pulumi_gcp/cloudbuild/_inputs.py +1038 -29
  245. pulumi_gcp/cloudbuild/bitbucket_server_config.py +61 -56
  246. pulumi_gcp/cloudbuild/get_trigger.py +5 -0
  247. pulumi_gcp/cloudbuild/outputs.py +5 -0
  248. pulumi_gcp/cloudbuild/trigger.py +733 -728
  249. pulumi_gcp/cloudbuild/worker_pool.py +43 -38
  250. pulumi_gcp/cloudbuildv2/_inputs.py +335 -0
  251. pulumi_gcp/cloudbuildv2/connection.py +106 -101
  252. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +24 -19
  253. pulumi_gcp/cloudbuildv2/connection_iam_member.py +24 -19
  254. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +21 -16
  255. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +5 -0
  256. pulumi_gcp/cloudbuildv2/outputs.py +5 -0
  257. pulumi_gcp/cloudbuildv2/repository.py +67 -62
  258. pulumi_gcp/clouddeploy/_inputs.py +700 -0
  259. pulumi_gcp/clouddeploy/automation.py +101 -96
  260. pulumi_gcp/clouddeploy/custom_target_type.py +88 -83
  261. pulumi_gcp/clouddeploy/custom_target_type_iam_binding.py +8 -3
  262. pulumi_gcp/clouddeploy/custom_target_type_iam_member.py +8 -3
  263. pulumi_gcp/clouddeploy/custom_target_type_iam_policy.py +5 -0
  264. pulumi_gcp/clouddeploy/delivery_pipeline.py +162 -157
  265. pulumi_gcp/clouddeploy/delivery_pipeline_iam_binding.py +8 -3
  266. pulumi_gcp/clouddeploy/delivery_pipeline_iam_member.py +8 -3
  267. pulumi_gcp/clouddeploy/delivery_pipeline_iam_policy.py +5 -0
  268. pulumi_gcp/clouddeploy/get_custom_target_type_iam_policy.py +5 -0
  269. pulumi_gcp/clouddeploy/get_delivery_pipeline_iam_policy.py +5 -0
  270. pulumi_gcp/clouddeploy/get_target_iam_policy.py +5 -0
  271. pulumi_gcp/clouddeploy/outputs.py +5 -0
  272. pulumi_gcp/clouddeploy/target.py +69 -64
  273. pulumi_gcp/clouddeploy/target_iam_binding.py +8 -3
  274. pulumi_gcp/clouddeploy/target_iam_member.py +8 -3
  275. pulumi_gcp/clouddeploy/target_iam_policy.py +5 -0
  276. pulumi_gcp/clouddomains/_inputs.py +372 -0
  277. pulumi_gcp/clouddomains/outputs.py +5 -0
  278. pulumi_gcp/clouddomains/registration.py +121 -116
  279. pulumi_gcp/cloudfunctions/_inputs.py +132 -0
  280. pulumi_gcp/cloudfunctions/function.py +25 -20
  281. pulumi_gcp/cloudfunctions/function_iam_binding.py +24 -19
  282. pulumi_gcp/cloudfunctions/function_iam_member.py +24 -19
  283. pulumi_gcp/cloudfunctions/function_iam_policy.py +21 -16
  284. pulumi_gcp/cloudfunctions/get_function.py +5 -0
  285. pulumi_gcp/cloudfunctions/get_function_iam_policy.py +5 -0
  286. pulumi_gcp/cloudfunctions/outputs.py +5 -0
  287. pulumi_gcp/cloudfunctionsv2/_inputs.py +357 -0
  288. pulumi_gcp/cloudfunctionsv2/function.py +514 -509
  289. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +24 -19
  290. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +24 -19
  291. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +21 -16
  292. pulumi_gcp/cloudfunctionsv2/get_function.py +5 -0
  293. pulumi_gcp/cloudfunctionsv2/get_function_iam_policy.py +5 -0
  294. pulumi_gcp/cloudfunctionsv2/outputs.py +5 -0
  295. pulumi_gcp/cloudidentity/_inputs.py +161 -0
  296. pulumi_gcp/cloudidentity/get_group_lookup.py +9 -4
  297. pulumi_gcp/cloudidentity/get_group_memberships.py +5 -0
  298. pulumi_gcp/cloudidentity/get_groups.py +5 -0
  299. pulumi_gcp/cloudidentity/group.py +18 -13
  300. pulumi_gcp/cloudidentity/group_membership.py +68 -63
  301. pulumi_gcp/cloudidentity/outputs.py +5 -0
  302. pulumi_gcp/cloudids/endpoint.py +5 -0
  303. pulumi_gcp/cloudquota/_inputs.py +44 -0
  304. pulumi_gcp/cloudquota/get_s_quota_info.py +5 -0
  305. pulumi_gcp/cloudquota/get_s_quota_infos.py +5 -0
  306. pulumi_gcp/cloudquota/outputs.py +5 -0
  307. pulumi_gcp/cloudquota/s_quota_preference.py +16 -11
  308. pulumi_gcp/cloudrun/_inputs.py +1165 -15
  309. pulumi_gcp/cloudrun/domain_mapping.py +49 -44
  310. pulumi_gcp/cloudrun/get_locations.py +5 -0
  311. pulumi_gcp/cloudrun/get_service.py +5 -0
  312. pulumi_gcp/cloudrun/get_service_iam_policy.py +5 -0
  313. pulumi_gcp/cloudrun/iam_binding.py +24 -19
  314. pulumi_gcp/cloudrun/iam_member.py +24 -19
  315. pulumi_gcp/cloudrun/iam_policy.py +21 -16
  316. pulumi_gcp/cloudrun/outputs.py +5 -0
  317. pulumi_gcp/cloudrun/service.py +270 -265
  318. pulumi_gcp/cloudrunv2/_inputs.py +1338 -5
  319. pulumi_gcp/cloudrunv2/get_job.py +5 -0
  320. pulumi_gcp/cloudrunv2/get_job_iam_policy.py +5 -0
  321. pulumi_gcp/cloudrunv2/get_service.py +5 -0
  322. pulumi_gcp/cloudrunv2/get_service_iam_policy.py +5 -0
  323. pulumi_gcp/cloudrunv2/job.py +287 -282
  324. pulumi_gcp/cloudrunv2/job_iam_binding.py +24 -19
  325. pulumi_gcp/cloudrunv2/job_iam_member.py +24 -19
  326. pulumi_gcp/cloudrunv2/job_iam_policy.py +21 -16
  327. pulumi_gcp/cloudrunv2/outputs.py +5 -0
  328. pulumi_gcp/cloudrunv2/service.py +437 -432
  329. pulumi_gcp/cloudrunv2/service_iam_binding.py +24 -19
  330. pulumi_gcp/cloudrunv2/service_iam_member.py +24 -19
  331. pulumi_gcp/cloudrunv2/service_iam_policy.py +21 -16
  332. pulumi_gcp/cloudscheduler/_inputs.py +193 -0
  333. pulumi_gcp/cloudscheduler/job.py +127 -122
  334. pulumi_gcp/cloudscheduler/outputs.py +5 -0
  335. pulumi_gcp/cloudtasks/_inputs.py +134 -0
  336. pulumi_gcp/cloudtasks/get_queue_iam_policy.py +5 -0
  337. pulumi_gcp/cloudtasks/outputs.py +5 -0
  338. pulumi_gcp/cloudtasks/queue.py +63 -58
  339. pulumi_gcp/cloudtasks/queue_iam_binding.py +24 -19
  340. pulumi_gcp/cloudtasks/queue_iam_member.py +24 -19
  341. pulumi_gcp/cloudtasks/queue_iam_policy.py +21 -16
  342. pulumi_gcp/composer/_inputs.py +566 -0
  343. pulumi_gcp/composer/environment.py +15 -10
  344. pulumi_gcp/composer/get_environment.py +5 -0
  345. pulumi_gcp/composer/get_image_versions.py +15 -10
  346. pulumi_gcp/composer/get_user_workloads_config_map.py +15 -10
  347. pulumi_gcp/composer/get_user_workloads_secret.py +15 -10
  348. pulumi_gcp/composer/outputs.py +5 -0
  349. pulumi_gcp/composer/user_workloads_config_map.py +15 -10
  350. pulumi_gcp/composer/user_workloads_secret.py +15 -10
  351. pulumi_gcp/compute/_inputs.py +13512 -145
  352. pulumi_gcp/compute/address.py +27 -22
  353. pulumi_gcp/compute/attached_disk.py +21 -16
  354. pulumi_gcp/compute/autoscaler.py +98 -93
  355. pulumi_gcp/compute/backend_bucket.py +30 -25
  356. pulumi_gcp/compute/backend_bucket_iam_binding.py +8 -3
  357. pulumi_gcp/compute/backend_bucket_iam_member.py +8 -3
  358. pulumi_gcp/compute/backend_bucket_iam_policy.py +5 -0
  359. pulumi_gcp/compute/backend_bucket_signed_url_key.py +5 -0
  360. pulumi_gcp/compute/backend_service.py +204 -199
  361. pulumi_gcp/compute/backend_service_iam_binding.py +10 -5
  362. pulumi_gcp/compute/backend_service_iam_member.py +10 -5
  363. pulumi_gcp/compute/backend_service_iam_policy.py +5 -0
  364. pulumi_gcp/compute/backend_service_signed_url_key.py +35 -30
  365. pulumi_gcp/compute/ca_external_account_key.py +5 -0
  366. pulumi_gcp/compute/disk.py +54 -49
  367. pulumi_gcp/compute/disk_async_replication.py +10 -5
  368. pulumi_gcp/compute/disk_iam_binding.py +24 -19
  369. pulumi_gcp/compute/disk_iam_member.py +24 -19
  370. pulumi_gcp/compute/disk_iam_policy.py +21 -16
  371. pulumi_gcp/compute/disk_resource_policy_attachment.py +21 -16
  372. pulumi_gcp/compute/external_vpn_gateway.py +24 -19
  373. pulumi_gcp/compute/firewall.py +42 -37
  374. pulumi_gcp/compute/firewall_policy.py +5 -0
  375. pulumi_gcp/compute/firewall_policy_association.py +5 -0
  376. pulumi_gcp/compute/firewall_policy_rule.py +44 -39
  377. pulumi_gcp/compute/forwarding_rule.py +248 -243
  378. pulumi_gcp/compute/get_address.py +5 -0
  379. pulumi_gcp/compute/get_addresses.py +5 -0
  380. pulumi_gcp/compute/get_backend_bucket.py +5 -0
  381. pulumi_gcp/compute/get_backend_bucket_iam_policy.py +5 -0
  382. pulumi_gcp/compute/get_backend_service.py +5 -0
  383. pulumi_gcp/compute/get_backend_service_iam_policy.py +5 -0
  384. pulumi_gcp/compute/get_certificate.py +5 -0
  385. pulumi_gcp/compute/get_default_service_account.py +5 -0
  386. pulumi_gcp/compute/get_disk.py +13 -8
  387. pulumi_gcp/compute/get_disk_iam_policy.py +5 -0
  388. pulumi_gcp/compute/get_forwarding_rule.py +5 -0
  389. pulumi_gcp/compute/get_forwarding_rules.py +5 -0
  390. pulumi_gcp/compute/get_global_address.py +5 -0
  391. pulumi_gcp/compute/get_global_forwarding_rule.py +5 -0
  392. pulumi_gcp/compute/get_hc_vpn_gateway.py +5 -0
  393. pulumi_gcp/compute/get_health_check.py +5 -0
  394. pulumi_gcp/compute/get_image.py +15 -10
  395. pulumi_gcp/compute/get_image_iam_policy.py +5 -0
  396. pulumi_gcp/compute/get_instance.py +5 -0
  397. pulumi_gcp/compute/get_instance_group.py +5 -0
  398. pulumi_gcp/compute/get_instance_group_manager.py +5 -0
  399. pulumi_gcp/compute/get_instance_iam_policy.py +5 -0
  400. pulumi_gcp/compute/get_instance_serial_port.py +29 -24
  401. pulumi_gcp/compute/get_instance_template.py +5 -0
  402. pulumi_gcp/compute/get_lbip_ranges.py +5 -0
  403. pulumi_gcp/compute/get_machine_image_iam_policy.py +5 -0
  404. pulumi_gcp/compute/get_machine_types.py +5 -0
  405. pulumi_gcp/compute/get_netblock_ip_ranges.py +5 -0
  406. pulumi_gcp/compute/get_network.py +5 -0
  407. pulumi_gcp/compute/get_network_endpoint_group.py +5 -0
  408. pulumi_gcp/compute/get_network_peering.py +5 -0
  409. pulumi_gcp/compute/get_networks.py +5 -0
  410. pulumi_gcp/compute/get_node_types.py +5 -0
  411. pulumi_gcp/compute/get_region_backend_service_iam_policy.py +5 -0
  412. pulumi_gcp/compute/get_region_disk.py +5 -0
  413. pulumi_gcp/compute/get_region_disk_iam_policy.py +5 -0
  414. pulumi_gcp/compute/get_region_instance_group.py +5 -0
  415. pulumi_gcp/compute/get_region_instance_template.py +5 -0
  416. pulumi_gcp/compute/get_region_network_endpoint_group.py +5 -0
  417. pulumi_gcp/compute/get_region_ssl_certificate.py +5 -0
  418. pulumi_gcp/compute/get_regions.py +5 -0
  419. pulumi_gcp/compute/get_reservation.py +5 -0
  420. pulumi_gcp/compute/get_resource_policy.py +5 -0
  421. pulumi_gcp/compute/get_router.py +5 -0
  422. pulumi_gcp/compute/get_router_nat.py +5 -0
  423. pulumi_gcp/compute/get_router_status.py +5 -0
  424. pulumi_gcp/compute/get_security_policy.py +5 -0
  425. pulumi_gcp/compute/get_snapshot.py +5 -0
  426. pulumi_gcp/compute/get_snapshot_iam_policy.py +5 -0
  427. pulumi_gcp/compute/get_ssl_policy.py +5 -0
  428. pulumi_gcp/compute/get_subnetwork.py +5 -0
  429. pulumi_gcp/compute/get_subnetwork_iam_policy.py +5 -0
  430. pulumi_gcp/compute/get_subnetworks.py +5 -0
  431. pulumi_gcp/compute/get_vpn_gateway.py +5 -0
  432. pulumi_gcp/compute/get_zones.py +5 -0
  433. pulumi_gcp/compute/global_address.py +5 -0
  434. pulumi_gcp/compute/global_forwarding_rule.py +211 -206
  435. pulumi_gcp/compute/global_network_endpoint.py +5 -0
  436. pulumi_gcp/compute/global_network_endpoint_group.py +5 -0
  437. pulumi_gcp/compute/ha_vpn_gateway.py +32 -27
  438. pulumi_gcp/compute/health_check.py +174 -169
  439. pulumi_gcp/compute/http_health_check.py +5 -0
  440. pulumi_gcp/compute/https_health_check.py +5 -0
  441. pulumi_gcp/compute/image.py +50 -45
  442. pulumi_gcp/compute/image_iam_binding.py +102 -97
  443. pulumi_gcp/compute/image_iam_member.py +102 -97
  444. pulumi_gcp/compute/image_iam_policy.py +97 -92
  445. pulumi_gcp/compute/instance.py +104 -99
  446. pulumi_gcp/compute/instance_from_machine_image.py +61 -56
  447. pulumi_gcp/compute/instance_from_template.py +88 -83
  448. pulumi_gcp/compute/instance_group.py +26 -21
  449. pulumi_gcp/compute/instance_group_manager.py +138 -133
  450. pulumi_gcp/compute/instance_group_membership.py +21 -16
  451. pulumi_gcp/compute/instance_group_named_port.py +13 -8
  452. pulumi_gcp/compute/instance_iam_binding.py +102 -97
  453. pulumi_gcp/compute/instance_iam_member.py +102 -97
  454. pulumi_gcp/compute/instance_iam_policy.py +97 -92
  455. pulumi_gcp/compute/instance_settings.py +16 -11
  456. pulumi_gcp/compute/instance_template.py +147 -142
  457. pulumi_gcp/compute/interconnect.py +14 -9
  458. pulumi_gcp/compute/interconnect_attachment.py +19 -14
  459. pulumi_gcp/compute/machine_image.py +48 -43
  460. pulumi_gcp/compute/machine_image_iam_binding.py +102 -97
  461. pulumi_gcp/compute/machine_image_iam_member.py +102 -97
  462. pulumi_gcp/compute/machine_image_iam_policy.py +97 -92
  463. pulumi_gcp/compute/managed_ssl_certificate.py +40 -35
  464. pulumi_gcp/compute/manged_ssl_certificate.py +40 -35
  465. pulumi_gcp/compute/network.py +5 -0
  466. pulumi_gcp/compute/network_attachment.py +29 -24
  467. pulumi_gcp/compute/network_edge_security_service.py +5 -0
  468. pulumi_gcp/compute/network_endpoint.py +23 -18
  469. pulumi_gcp/compute/network_endpoint_group.py +5 -0
  470. pulumi_gcp/compute/network_endpoint_list.py +66 -61
  471. pulumi_gcp/compute/network_firewall_policy.py +5 -0
  472. pulumi_gcp/compute/network_firewall_policy_association.py +5 -0
  473. pulumi_gcp/compute/network_firewall_policy_rule.py +41 -36
  474. pulumi_gcp/compute/network_peering.py +5 -0
  475. pulumi_gcp/compute/network_peering_routes_config.py +41 -36
  476. pulumi_gcp/compute/node_group.py +50 -45
  477. pulumi_gcp/compute/node_template.py +21 -16
  478. pulumi_gcp/compute/organization_security_policy.py +5 -0
  479. pulumi_gcp/compute/organization_security_policy_association.py +31 -26
  480. pulumi_gcp/compute/organization_security_policy_rule.py +36 -31
  481. pulumi_gcp/compute/outputs.py +5 -0
  482. pulumi_gcp/compute/packet_mirroring.py +83 -78
  483. pulumi_gcp/compute/per_instance_config.py +56 -51
  484. pulumi_gcp/compute/project_cloud_armor_tier.py +5 -0
  485. pulumi_gcp/compute/project_default_network_tier.py +5 -0
  486. pulumi_gcp/compute/project_metadata.py +5 -0
  487. pulumi_gcp/compute/project_metadata_item.py +5 -0
  488. pulumi_gcp/compute/public_advertised_prefix.py +5 -0
  489. pulumi_gcp/compute/public_delegated_prefix.py +5 -0
  490. pulumi_gcp/compute/region_autoscaler.py +60 -55
  491. pulumi_gcp/compute/region_backend_service.py +203 -198
  492. pulumi_gcp/compute/region_backend_service_iam_binding.py +10 -5
  493. pulumi_gcp/compute/region_backend_service_iam_member.py +10 -5
  494. pulumi_gcp/compute/region_backend_service_iam_policy.py +5 -0
  495. pulumi_gcp/compute/region_commitment.py +47 -42
  496. pulumi_gcp/compute/region_disk.py +49 -44
  497. pulumi_gcp/compute/region_disk_iam_binding.py +24 -19
  498. pulumi_gcp/compute/region_disk_iam_member.py +24 -19
  499. pulumi_gcp/compute/region_disk_iam_policy.py +21 -16
  500. pulumi_gcp/compute/region_disk_resource_policy_attachment.py +21 -16
  501. pulumi_gcp/compute/region_health_check.py +174 -169
  502. pulumi_gcp/compute/region_instance_group_manager.py +134 -129
  503. pulumi_gcp/compute/region_instance_template.py +55 -50
  504. pulumi_gcp/compute/region_network_endpoint.py +23 -18
  505. pulumi_gcp/compute/region_network_endpoint_group.py +135 -130
  506. pulumi_gcp/compute/region_network_firewall_policy.py +5 -0
  507. pulumi_gcp/compute/region_network_firewall_policy_association.py +5 -0
  508. pulumi_gcp/compute/region_network_firewall_policy_rule.py +41 -36
  509. pulumi_gcp/compute/region_per_instance_config.py +66 -61
  510. pulumi_gcp/compute/region_security_policy.py +49 -44
  511. pulumi_gcp/compute/region_security_policy_rule.py +161 -156
  512. pulumi_gcp/compute/region_ssl_certificate.py +5 -0
  513. pulumi_gcp/compute/region_ssl_policy.py +5 -0
  514. pulumi_gcp/compute/region_target_http_proxy.py +43 -38
  515. pulumi_gcp/compute/region_target_https_proxy.py +97 -92
  516. pulumi_gcp/compute/region_target_tcp_proxy.py +11 -6
  517. pulumi_gcp/compute/region_url_map.py +824 -819
  518. pulumi_gcp/compute/reservation.py +29 -24
  519. pulumi_gcp/compute/resource_policy.py +153 -148
  520. pulumi_gcp/compute/route.py +17 -12
  521. pulumi_gcp/compute/router.py +40 -35
  522. pulumi_gcp/compute/router_interface.py +5 -0
  523. pulumi_gcp/compute/router_nat.py +98 -93
  524. pulumi_gcp/compute/router_peer.py +78 -73
  525. pulumi_gcp/compute/router_status.py +5 -0
  526. pulumi_gcp/compute/security_policy.py +201 -196
  527. pulumi_gcp/compute/security_policy_rule.py +80 -75
  528. pulumi_gcp/compute/security_scan_config.py +15 -10
  529. pulumi_gcp/compute/service_attachment.py +60 -55
  530. pulumi_gcp/compute/shared_vpc_host_project.py +5 -0
  531. pulumi_gcp/compute/shared_vpc_service_project.py +5 -0
  532. pulumi_gcp/compute/snapshot.py +15 -10
  533. pulumi_gcp/compute/snapshot_iam_binding.py +24 -19
  534. pulumi_gcp/compute/snapshot_iam_member.py +24 -19
  535. pulumi_gcp/compute/snapshot_iam_policy.py +21 -16
  536. pulumi_gcp/compute/ssl_certificate.py +5 -0
  537. pulumi_gcp/compute/ssl_policy.py +5 -0
  538. pulumi_gcp/compute/subnetwork.py +33 -28
  539. pulumi_gcp/compute/subnetwork_iam_binding.py +102 -97
  540. pulumi_gcp/compute/subnetwork_iam_member.py +102 -97
  541. pulumi_gcp/compute/subnetwork_iam_policy.py +97 -92
  542. pulumi_gcp/compute/target_grpc_proxy.py +129 -124
  543. pulumi_gcp/compute/target_http_proxy.py +61 -56
  544. pulumi_gcp/compute/target_https_proxy.py +133 -128
  545. pulumi_gcp/compute/target_instance.py +63 -58
  546. pulumi_gcp/compute/target_pool.py +5 -0
  547. pulumi_gcp/compute/target_ssl_proxy.py +11 -6
  548. pulumi_gcp/compute/target_tcp_proxy.py +11 -6
  549. pulumi_gcp/compute/url_map.py +731 -726
  550. pulumi_gcp/compute/vpn_gateway.py +5 -0
  551. pulumi_gcp/compute/vpn_tunnel.py +5 -0
  552. pulumi_gcp/config/__init__.pyi +5 -0
  553. pulumi_gcp/config/outputs.py +5 -0
  554. pulumi_gcp/config/vars.py +5 -0
  555. pulumi_gcp/container/_inputs.py +5502 -823
  556. pulumi_gcp/container/attached_cluster.py +128 -123
  557. pulumi_gcp/container/aws_cluster.py +359 -354
  558. pulumi_gcp/container/aws_node_pool.py +554 -549
  559. pulumi_gcp/container/azure_client.py +5 -0
  560. pulumi_gcp/container/azure_cluster.py +133 -128
  561. pulumi_gcp/container/azure_node_pool.py +115 -110
  562. pulumi_gcp/container/cluster.py +224 -219
  563. pulumi_gcp/container/get_attached_install_manifest.py +5 -0
  564. pulumi_gcp/container/get_attached_versions.py +5 -0
  565. pulumi_gcp/container/get_aws_versions.py +5 -0
  566. pulumi_gcp/container/get_azure_versions.py +5 -0
  567. pulumi_gcp/container/get_cluster.py +5 -0
  568. pulumi_gcp/container/get_engine_versions.py +5 -0
  569. pulumi_gcp/container/get_registry_image.py +5 -0
  570. pulumi_gcp/container/get_registry_repository.py +5 -0
  571. pulumi_gcp/container/node_pool.py +78 -73
  572. pulumi_gcp/container/outputs.py +5 -0
  573. pulumi_gcp/container/registry.py +5 -0
  574. pulumi_gcp/containeranalysis/_inputs.py +121 -0
  575. pulumi_gcp/containeranalysis/get_note_iam_policy.py +5 -0
  576. pulumi_gcp/containeranalysis/note.py +49 -44
  577. pulumi_gcp/containeranalysis/note_iam_binding.py +24 -19
  578. pulumi_gcp/containeranalysis/note_iam_member.py +24 -19
  579. pulumi_gcp/containeranalysis/note_iam_policy.py +21 -16
  580. pulumi_gcp/containeranalysis/occurence.py +10 -5
  581. pulumi_gcp/containeranalysis/outputs.py +5 -0
  582. pulumi_gcp/databasemigrationservice/_inputs.py +578 -0
  583. pulumi_gcp/databasemigrationservice/connection_profile.py +188 -183
  584. pulumi_gcp/databasemigrationservice/outputs.py +5 -0
  585. pulumi_gcp/databasemigrationservice/private_connection.py +20 -15
  586. pulumi_gcp/datacatalog/_inputs.py +318 -0
  587. pulumi_gcp/datacatalog/entry.py +20 -15
  588. pulumi_gcp/datacatalog/entry_group.py +5 -0
  589. pulumi_gcp/datacatalog/entry_group_iam_binding.py +24 -19
  590. pulumi_gcp/datacatalog/entry_group_iam_member.py +24 -19
  591. pulumi_gcp/datacatalog/entry_group_iam_policy.py +21 -16
  592. pulumi_gcp/datacatalog/get_entry_group_iam_policy.py +5 -0
  593. pulumi_gcp/datacatalog/get_policy_tag_iam_policy.py +5 -0
  594. pulumi_gcp/datacatalog/get_tag_template_iam_policy.py +5 -0
  595. pulumi_gcp/datacatalog/get_taxonomy_iam_policy.py +5 -0
  596. pulumi_gcp/datacatalog/outputs.py +5 -0
  597. pulumi_gcp/datacatalog/policy_tag.py +5 -0
  598. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +24 -19
  599. pulumi_gcp/datacatalog/policy_tag_iam_member.py +24 -19
  600. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +21 -16
  601. pulumi_gcp/datacatalog/tag.py +264 -259
  602. pulumi_gcp/datacatalog/tag_template.py +76 -71
  603. pulumi_gcp/datacatalog/tag_template_iam_binding.py +24 -19
  604. pulumi_gcp/datacatalog/tag_template_iam_member.py +24 -19
  605. pulumi_gcp/datacatalog/tag_template_iam_policy.py +21 -16
  606. pulumi_gcp/datacatalog/taxonomy.py +5 -0
  607. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +24 -19
  608. pulumi_gcp/datacatalog/taxonomy_iam_member.py +24 -19
  609. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +21 -16
  610. pulumi_gcp/dataflow/_inputs.py +316 -0
  611. pulumi_gcp/dataflow/flex_template_job.py +5 -0
  612. pulumi_gcp/dataflow/job.py +5 -0
  613. pulumi_gcp/dataflow/outputs.py +5 -0
  614. pulumi_gcp/dataflow/pipeline.py +75 -70
  615. pulumi_gcp/dataform/_inputs.py +251 -0
  616. pulumi_gcp/dataform/get_repository_iam_policy.py +5 -0
  617. pulumi_gcp/dataform/outputs.py +5 -0
  618. pulumi_gcp/dataform/repository.py +41 -36
  619. pulumi_gcp/dataform/repository_iam_binding.py +8 -3
  620. pulumi_gcp/dataform/repository_iam_member.py +8 -3
  621. pulumi_gcp/dataform/repository_iam_policy.py +5 -0
  622. pulumi_gcp/dataform/repository_release_config.py +58 -53
  623. pulumi_gcp/dataform/repository_workflow_config.py +94 -89
  624. pulumi_gcp/datafusion/_inputs.py +64 -0
  625. pulumi_gcp/datafusion/get_instance_iam_policy.py +5 -0
  626. pulumi_gcp/datafusion/instance.py +55 -50
  627. pulumi_gcp/datafusion/outputs.py +5 -0
  628. pulumi_gcp/dataloss/_inputs.py +6566 -114
  629. pulumi_gcp/dataloss/outputs.py +5 -0
  630. pulumi_gcp/dataloss/prevention_deidentify_template.py +226 -221
  631. pulumi_gcp/dataloss/prevention_discovery_config.py +22 -17
  632. pulumi_gcp/dataloss/prevention_inspect_template.py +442 -437
  633. pulumi_gcp/dataloss/prevention_job_trigger.py +701 -696
  634. pulumi_gcp/dataloss/prevention_stored_info_type.py +62 -57
  635. pulumi_gcp/dataplex/_inputs.py +1212 -6
  636. pulumi_gcp/dataplex/aspect_type.py +5 -0
  637. pulumi_gcp/dataplex/aspect_type_iam_binding.py +24 -19
  638. pulumi_gcp/dataplex/aspect_type_iam_member.py +24 -19
  639. pulumi_gcp/dataplex/aspect_type_iam_policy.py +21 -16
  640. pulumi_gcp/dataplex/asset.py +47 -42
  641. pulumi_gcp/dataplex/asset_iam_binding.py +24 -19
  642. pulumi_gcp/dataplex/asset_iam_member.py +24 -19
  643. pulumi_gcp/dataplex/asset_iam_policy.py +21 -16
  644. pulumi_gcp/dataplex/datascan.py +289 -284
  645. pulumi_gcp/dataplex/datascan_iam_binding.py +24 -19
  646. pulumi_gcp/dataplex/datascan_iam_member.py +24 -19
  647. pulumi_gcp/dataplex/datascan_iam_policy.py +21 -16
  648. pulumi_gcp/dataplex/entry_group.py +5 -0
  649. pulumi_gcp/dataplex/entry_group_iam_binding.py +24 -19
  650. pulumi_gcp/dataplex/entry_group_iam_member.py +24 -19
  651. pulumi_gcp/dataplex/entry_group_iam_policy.py +21 -16
  652. pulumi_gcp/dataplex/entry_type.py +16 -11
  653. pulumi_gcp/dataplex/entry_type_iam_binding.py +24 -19
  654. pulumi_gcp/dataplex/entry_type_iam_member.py +24 -19
  655. pulumi_gcp/dataplex/entry_type_iam_policy.py +21 -16
  656. pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +5 -0
  657. pulumi_gcp/dataplex/get_asset_iam_policy.py +5 -0
  658. pulumi_gcp/dataplex/get_datascan_iam_policy.py +5 -0
  659. pulumi_gcp/dataplex/get_entry_group_iam_policy.py +5 -0
  660. pulumi_gcp/dataplex/get_entry_type_iam_policy.py +5 -0
  661. pulumi_gcp/dataplex/get_lake_iam_policy.py +5 -0
  662. pulumi_gcp/dataplex/get_task_iam_policy.py +5 -0
  663. pulumi_gcp/dataplex/get_zone_iam_policy.py +5 -0
  664. pulumi_gcp/dataplex/lake.py +14 -9
  665. pulumi_gcp/dataplex/lake_iam_binding.py +24 -19
  666. pulumi_gcp/dataplex/lake_iam_member.py +24 -19
  667. pulumi_gcp/dataplex/lake_iam_policy.py +21 -16
  668. pulumi_gcp/dataplex/outputs.py +5 -0
  669. pulumi_gcp/dataplex/task.py +173 -168
  670. pulumi_gcp/dataplex/task_iam_binding.py +24 -19
  671. pulumi_gcp/dataplex/task_iam_member.py +24 -19
  672. pulumi_gcp/dataplex/task_iam_policy.py +21 -16
  673. pulumi_gcp/dataplex/zone.py +29 -24
  674. pulumi_gcp/dataplex/zone_iam_binding.py +24 -19
  675. pulumi_gcp/dataplex/zone_iam_member.py +24 -19
  676. pulumi_gcp/dataplex/zone_iam_policy.py +21 -16
  677. pulumi_gcp/dataproc/_inputs.py +3214 -39
  678. pulumi_gcp/dataproc/autoscaling_policy.py +50 -45
  679. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +24 -19
  680. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +24 -19
  681. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +21 -16
  682. pulumi_gcp/dataproc/cluster.py +109 -104
  683. pulumi_gcp/dataproc/cluster_iam_binding.py +24 -19
  684. pulumi_gcp/dataproc/cluster_iam_member.py +24 -19
  685. pulumi_gcp/dataproc/cluster_iam_policy.py +21 -16
  686. pulumi_gcp/dataproc/get_autoscaling_policy_iam_policy.py +5 -0
  687. pulumi_gcp/dataproc/get_cluster_iam_policy.py +5 -0
  688. pulumi_gcp/dataproc/get_job_iam_policy.py +5 -0
  689. pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +5 -0
  690. pulumi_gcp/dataproc/get_metastore_service.py +5 -0
  691. pulumi_gcp/dataproc/get_metastore_service_iam_policy.py +5 -0
  692. pulumi_gcp/dataproc/job.py +95 -90
  693. pulumi_gcp/dataproc/job_iam_binding.py +24 -19
  694. pulumi_gcp/dataproc/job_iam_member.py +24 -19
  695. pulumi_gcp/dataproc/job_iam_policy.py +21 -16
  696. pulumi_gcp/dataproc/metastore_federation.py +56 -51
  697. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +24 -19
  698. pulumi_gcp/dataproc/metastore_federation_iam_member.py +24 -19
  699. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +21 -16
  700. pulumi_gcp/dataproc/metastore_service.py +239 -234
  701. pulumi_gcp/dataproc/metastore_service_iam_binding.py +24 -19
  702. pulumi_gcp/dataproc/metastore_service_iam_member.py +24 -19
  703. pulumi_gcp/dataproc/metastore_service_iam_policy.py +21 -16
  704. pulumi_gcp/dataproc/outputs.py +5 -0
  705. pulumi_gcp/dataproc/workflow_template.py +112 -107
  706. pulumi_gcp/datastore/_inputs.py +22 -0
  707. pulumi_gcp/datastore/data_store_index.py +26 -21
  708. pulumi_gcp/datastore/outputs.py +5 -0
  709. pulumi_gcp/datastream/_inputs.py +1631 -35
  710. pulumi_gcp/datastream/connection_profile.py +251 -246
  711. pulumi_gcp/datastream/get_static_ips.py +5 -0
  712. pulumi_gcp/datastream/outputs.py +5 -0
  713. pulumi_gcp/datastream/private_connection.py +20 -15
  714. pulumi_gcp/datastream/stream.py +777 -772
  715. pulumi_gcp/deploymentmanager/_inputs.py +66 -0
  716. pulumi_gcp/deploymentmanager/deployment.py +33 -28
  717. pulumi_gcp/deploymentmanager/outputs.py +5 -0
  718. pulumi_gcp/diagflow/_inputs.py +2590 -41
  719. pulumi_gcp/diagflow/agent.py +5 -0
  720. pulumi_gcp/diagflow/cx_agent.py +75 -70
  721. pulumi_gcp/diagflow/cx_entity_type.py +37 -32
  722. pulumi_gcp/diagflow/cx_environment.py +22 -17
  723. pulumi_gcp/diagflow/cx_flow.py +455 -450
  724. pulumi_gcp/diagflow/cx_intent.py +55 -50
  725. pulumi_gcp/diagflow/cx_page.py +718 -713
  726. pulumi_gcp/diagflow/cx_security_settings.py +69 -64
  727. pulumi_gcp/diagflow/cx_test_case.py +197 -192
  728. pulumi_gcp/diagflow/cx_version.py +13 -8
  729. pulumi_gcp/diagflow/cx_webhook.py +27 -22
  730. pulumi_gcp/diagflow/entity_type.py +26 -21
  731. pulumi_gcp/diagflow/fulfillment.py +27 -22
  732. pulumi_gcp/diagflow/intent.py +7 -2
  733. pulumi_gcp/diagflow/outputs.py +5 -0
  734. pulumi_gcp/discoveryengine/_inputs.py +183 -0
  735. pulumi_gcp/discoveryengine/chat_engine.py +37 -32
  736. pulumi_gcp/discoveryengine/data_store.py +32 -27
  737. pulumi_gcp/discoveryengine/outputs.py +5 -0
  738. pulumi_gcp/discoveryengine/search_engine.py +17 -12
  739. pulumi_gcp/dns/_inputs.py +589 -0
  740. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +24 -19
  741. pulumi_gcp/dns/dns_managed_zone_iam_member.py +24 -19
  742. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +21 -16
  743. pulumi_gcp/dns/get_keys.py +13 -8
  744. pulumi_gcp/dns/get_managed_zone.py +5 -0
  745. pulumi_gcp/dns/get_managed_zone_iam_policy.py +5 -0
  746. pulumi_gcp/dns/get_managed_zones.py +5 -0
  747. pulumi_gcp/dns/get_record_set.py +5 -0
  748. pulumi_gcp/dns/managed_zone.py +183 -178
  749. pulumi_gcp/dns/outputs.py +5 -0
  750. pulumi_gcp/dns/policy.py +47 -42
  751. pulumi_gcp/dns/record_set.py +100 -95
  752. pulumi_gcp/dns/response_policy.py +81 -76
  753. pulumi_gcp/dns/response_policy_rule.py +38 -33
  754. pulumi_gcp/edgecontainer/_inputs.py +464 -0
  755. pulumi_gcp/edgecontainer/cluster.py +152 -147
  756. pulumi_gcp/edgecontainer/node_pool.py +109 -104
  757. pulumi_gcp/edgecontainer/outputs.py +5 -0
  758. pulumi_gcp/edgecontainer/vpn_connection.py +36 -31
  759. pulumi_gcp/edgenetwork/network.py +5 -0
  760. pulumi_gcp/edgenetwork/subnet.py +5 -0
  761. pulumi_gcp/endpoints/_inputs.py +101 -0
  762. pulumi_gcp/endpoints/consumers_iam_binding.py +8 -3
  763. pulumi_gcp/endpoints/consumers_iam_member.py +8 -3
  764. pulumi_gcp/endpoints/consumers_iam_policy.py +5 -0
  765. pulumi_gcp/endpoints/get_service_consumers_iam_policy.py +5 -0
  766. pulumi_gcp/endpoints/get_service_iam_policy.py +5 -0
  767. pulumi_gcp/endpoints/outputs.py +5 -0
  768. pulumi_gcp/endpoints/service.py +9 -4
  769. pulumi_gcp/endpoints/service_iam_binding.py +24 -19
  770. pulumi_gcp/endpoints/service_iam_member.py +24 -19
  771. pulumi_gcp/endpoints/service_iam_policy.py +21 -16
  772. pulumi_gcp/essentialcontacts/_inputs.py +313 -0
  773. pulumi_gcp/essentialcontacts/contact.py +5 -0
  774. pulumi_gcp/essentialcontacts/document_ai_processor.py +5 -0
  775. pulumi_gcp/essentialcontacts/document_ai_processor_default_version.py +5 -0
  776. pulumi_gcp/essentialcontacts/document_ai_warehouse_document_schema.py +40 -35
  777. pulumi_gcp/essentialcontacts/document_ai_warehouse_location.py +5 -0
  778. pulumi_gcp/essentialcontacts/outputs.py +5 -0
  779. pulumi_gcp/eventarc/_inputs.py +145 -0
  780. pulumi_gcp/eventarc/channel.py +5 -0
  781. pulumi_gcp/eventarc/google_channel_config.py +5 -0
  782. pulumi_gcp/eventarc/outputs.py +5 -0
  783. pulumi_gcp/eventarc/trigger.py +78 -73
  784. pulumi_gcp/filestore/_inputs.py +108 -0
  785. pulumi_gcp/filestore/backup.py +23 -18
  786. pulumi_gcp/filestore/get_instance.py +5 -0
  787. pulumi_gcp/filestore/instance.py +107 -102
  788. pulumi_gcp/filestore/outputs.py +5 -0
  789. pulumi_gcp/filestore/snapshot.py +37 -32
  790. pulumi_gcp/firebase/_inputs.py +511 -0
  791. pulumi_gcp/firebase/android_app.py +21 -16
  792. pulumi_gcp/firebase/app_check_app_attest_config.py +5 -0
  793. pulumi_gcp/firebase/app_check_debug_token.py +5 -0
  794. pulumi_gcp/firebase/app_check_device_check_config.py +5 -0
  795. pulumi_gcp/firebase/app_check_play_integrity_config.py +5 -0
  796. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +5 -0
  797. pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +5 -0
  798. pulumi_gcp/firebase/app_check_service_config.py +5 -0
  799. pulumi_gcp/firebase/apple_app.py +15 -10
  800. pulumi_gcp/firebase/database_instance.py +5 -0
  801. pulumi_gcp/firebase/extensions_instance.py +30 -25
  802. pulumi_gcp/firebase/get_android_app.py +5 -0
  803. pulumi_gcp/firebase/get_android_app_config.py +5 -0
  804. pulumi_gcp/firebase/get_apple_app.py +5 -0
  805. pulumi_gcp/firebase/get_apple_app_config.py +5 -0
  806. pulumi_gcp/firebase/get_hosting_channel.py +5 -0
  807. pulumi_gcp/firebase/get_web_app.py +5 -0
  808. pulumi_gcp/firebase/get_web_app_config.py +5 -0
  809. pulumi_gcp/firebase/hosting_channel.py +5 -0
  810. pulumi_gcp/firebase/hosting_custom_domain.py +39 -34
  811. pulumi_gcp/firebase/hosting_release.py +33 -28
  812. pulumi_gcp/firebase/hosting_site.py +5 -0
  813. pulumi_gcp/firebase/hosting_version.py +76 -71
  814. pulumi_gcp/firebase/outputs.py +5 -0
  815. pulumi_gcp/firebase/project.py +5 -0
  816. pulumi_gcp/firebase/storage_bucket.py +5 -0
  817. pulumi_gcp/firebase/web_app.py +15 -10
  818. pulumi_gcp/firebaserules/_inputs.py +51 -0
  819. pulumi_gcp/firebaserules/outputs.py +5 -0
  820. pulumi_gcp/firebaserules/release.py +5 -0
  821. pulumi_gcp/firebaserules/ruleset.py +40 -35
  822. pulumi_gcp/firestore/_inputs.py +154 -0
  823. pulumi_gcp/firestore/backup_schedule.py +23 -18
  824. pulumi_gcp/firestore/database.py +22 -17
  825. pulumi_gcp/firestore/document.py +5 -0
  826. pulumi_gcp/firestore/field.py +63 -58
  827. pulumi_gcp/firestore/index.py +72 -67
  828. pulumi_gcp/firestore/outputs.py +5 -0
  829. pulumi_gcp/folder/_inputs.py +165 -0
  830. pulumi_gcp/folder/access_approval_settings.py +28 -23
  831. pulumi_gcp/folder/get_iam_policy.py +5 -0
  832. pulumi_gcp/folder/get_organization_policy.py +5 -0
  833. pulumi_gcp/folder/iam_audit_config.py +130 -125
  834. pulumi_gcp/folder/iam_binding.py +8 -3
  835. pulumi_gcp/folder/iam_member.py +130 -125
  836. pulumi_gcp/folder/iam_policy.py +125 -120
  837. pulumi_gcp/folder/organization_policy.py +54 -49
  838. pulumi_gcp/folder/outputs.py +5 -0
  839. pulumi_gcp/gkebackup/_inputs.py +694 -0
  840. pulumi_gcp/gkebackup/backup_plan.py +436 -431
  841. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +24 -19
  842. pulumi_gcp/gkebackup/backup_plan_iam_member.py +24 -19
  843. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +21 -16
  844. pulumi_gcp/gkebackup/get_backup_plan_iam_policy.py +5 -0
  845. pulumi_gcp/gkebackup/get_restore_plan_iam_policy.py +5 -0
  846. pulumi_gcp/gkebackup/outputs.py +5 -0
  847. pulumi_gcp/gkebackup/restore_plan.py +580 -575
  848. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +578 -573
  849. pulumi_gcp/gkebackup/restore_plan_iam_member.py +578 -573
  850. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +575 -570
  851. pulumi_gcp/gkehub/_inputs.py +1204 -6
  852. pulumi_gcp/gkehub/feature.py +319 -314
  853. pulumi_gcp/gkehub/feature_iam_binding.py +24 -19
  854. pulumi_gcp/gkehub/feature_iam_member.py +24 -19
  855. pulumi_gcp/gkehub/feature_iam_policy.py +21 -16
  856. pulumi_gcp/gkehub/feature_membership.py +184 -179
  857. pulumi_gcp/gkehub/fleet.py +24 -19
  858. pulumi_gcp/gkehub/get_feature_iam_policy.py +5 -0
  859. pulumi_gcp/gkehub/get_membership_iam_policy.py +5 -0
  860. pulumi_gcp/gkehub/get_scope_iam_policy.py +5 -0
  861. pulumi_gcp/gkehub/membership.py +57 -52
  862. pulumi_gcp/gkehub/membership_binding.py +17 -12
  863. pulumi_gcp/gkehub/membership_iam_binding.py +24 -19
  864. pulumi_gcp/gkehub/membership_iam_member.py +24 -19
  865. pulumi_gcp/gkehub/membership_iam_policy.py +21 -16
  866. pulumi_gcp/gkehub/membership_rbac_role_binding.py +28 -23
  867. pulumi_gcp/gkehub/namespace.py +7 -2
  868. pulumi_gcp/gkehub/outputs.py +5 -0
  869. pulumi_gcp/gkehub/scope.py +7 -2
  870. pulumi_gcp/gkehub/scope_iam_binding.py +24 -19
  871. pulumi_gcp/gkehub/scope_iam_member.py +24 -19
  872. pulumi_gcp/gkehub/scope_iam_policy.py +21 -16
  873. pulumi_gcp/gkehub/scope_rbac_role_binding.py +18 -13
  874. pulumi_gcp/gkeonprem/_inputs.py +2318 -18
  875. pulumi_gcp/gkeonprem/bare_metal_admin_cluster.py +335 -330
  876. pulumi_gcp/gkeonprem/bare_metal_cluster.py +528 -523
  877. pulumi_gcp/gkeonprem/bare_metal_node_pool.py +262 -257
  878. pulumi_gcp/gkeonprem/outputs.py +5 -0
  879. pulumi_gcp/gkeonprem/v_mware_cluster.py +399 -394
  880. pulumi_gcp/gkeonprem/v_mware_node_pool.py +89 -84
  881. pulumi_gcp/healthcare/_inputs.py +316 -0
  882. pulumi_gcp/healthcare/consent_store.py +5 -0
  883. pulumi_gcp/healthcare/consent_store_iam_binding.py +24 -19
  884. pulumi_gcp/healthcare/consent_store_iam_member.py +24 -19
  885. pulumi_gcp/healthcare/consent_store_iam_policy.py +21 -16
  886. pulumi_gcp/healthcare/dataset.py +5 -0
  887. pulumi_gcp/healthcare/dataset_iam_binding.py +24 -19
  888. pulumi_gcp/healthcare/dataset_iam_member.py +24 -19
  889. pulumi_gcp/healthcare/dataset_iam_policy.py +21 -16
  890. pulumi_gcp/healthcare/dicom_store.py +39 -34
  891. pulumi_gcp/healthcare/dicom_store_iam_binding.py +24 -19
  892. pulumi_gcp/healthcare/dicom_store_iam_member.py +24 -19
  893. pulumi_gcp/healthcare/dicom_store_iam_policy.py +21 -16
  894. pulumi_gcp/healthcare/fhir_store.py +62 -57
  895. pulumi_gcp/healthcare/fhir_store_iam_binding.py +24 -19
  896. pulumi_gcp/healthcare/fhir_store_iam_member.py +24 -19
  897. pulumi_gcp/healthcare/fhir_store_iam_policy.py +21 -16
  898. pulumi_gcp/healthcare/get_consent_store_iam_policy.py +5 -0
  899. pulumi_gcp/healthcare/get_dataset_iam_policy.py +5 -0
  900. pulumi_gcp/healthcare/get_dicom_store_iam_policy.py +5 -0
  901. pulumi_gcp/healthcare/get_fhir_store_iam_policy.py +5 -0
  902. pulumi_gcp/healthcare/get_hl7_v2_store_iam_policy.py +5 -0
  903. pulumi_gcp/healthcare/hl7_store.py +46 -41
  904. pulumi_gcp/healthcare/hl7_store_iam_binding.py +24 -19
  905. pulumi_gcp/healthcare/hl7_store_iam_member.py +24 -19
  906. pulumi_gcp/healthcare/hl7_store_iam_policy.py +21 -16
  907. pulumi_gcp/healthcare/outputs.py +5 -0
  908. pulumi_gcp/iam/_inputs.py +433 -0
  909. pulumi_gcp/iam/access_boundary_policy.py +54 -49
  910. pulumi_gcp/iam/deny_policy.py +56 -51
  911. pulumi_gcp/iam/get_rule.py +5 -0
  912. pulumi_gcp/iam/get_testable_permissions.py +5 -0
  913. pulumi_gcp/iam/get_workload_identity_pool.py +5 -0
  914. pulumi_gcp/iam/get_workload_identity_pool_provider.py +5 -0
  915. pulumi_gcp/iam/outputs.py +5 -0
  916. pulumi_gcp/iam/workforce_pool.py +22 -17
  917. pulumi_gcp/iam/workforce_pool_provider.py +184 -179
  918. pulumi_gcp/iam/workload_identity_pool.py +5 -0
  919. pulumi_gcp/iam/workload_identity_pool_provider.py +68 -63
  920. pulumi_gcp/iap/_inputs.py +411 -0
  921. pulumi_gcp/iap/app_engine_service_iam_binding.py +102 -97
  922. pulumi_gcp/iap/app_engine_service_iam_member.py +102 -97
  923. pulumi_gcp/iap/app_engine_service_iam_policy.py +97 -92
  924. pulumi_gcp/iap/app_engine_version_iam_binding.py +102 -97
  925. pulumi_gcp/iap/app_engine_version_iam_member.py +102 -97
  926. pulumi_gcp/iap/app_engine_version_iam_policy.py +97 -92
  927. pulumi_gcp/iap/brand.py +5 -0
  928. pulumi_gcp/iap/client.py +5 -0
  929. pulumi_gcp/iap/get_app_engine_service_iam_policy.py +5 -0
  930. pulumi_gcp/iap/get_app_engine_version_iam_policy.py +5 -0
  931. pulumi_gcp/iap/get_client.py +5 -0
  932. pulumi_gcp/iap/get_tunnel_dest_group_iam_policy.py +5 -0
  933. pulumi_gcp/iap/get_tunnel_iam_policy.py +5 -0
  934. pulumi_gcp/iap/get_tunnel_instance_iam_policy.py +5 -0
  935. pulumi_gcp/iap/get_web_backend_service_iam_policy.py +5 -0
  936. pulumi_gcp/iap/get_web_iam_policy.py +5 -0
  937. pulumi_gcp/iap/get_web_region_backend_service_iam_policy.py +5 -0
  938. pulumi_gcp/iap/get_web_type_app_engine_iam_policy.py +5 -0
  939. pulumi_gcp/iap/get_web_type_compute_iam_policy.py +5 -0
  940. pulumi_gcp/iap/outputs.py +5 -0
  941. pulumi_gcp/iap/tunnel_dest_group.py +5 -0
  942. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +102 -97
  943. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +102 -97
  944. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +97 -92
  945. pulumi_gcp/iap/tunnel_iam_binding.py +102 -97
  946. pulumi_gcp/iap/tunnel_iam_member.py +102 -97
  947. pulumi_gcp/iap/tunnel_iam_policy.py +97 -92
  948. pulumi_gcp/iap/tunnel_instance_iam_binding.py +102 -97
  949. pulumi_gcp/iap/tunnel_instance_iam_member.py +102 -97
  950. pulumi_gcp/iap/tunnel_instance_iam_policy.py +97 -92
  951. pulumi_gcp/iap/web_backend_service_iam_binding.py +102 -97
  952. pulumi_gcp/iap/web_backend_service_iam_member.py +102 -97
  953. pulumi_gcp/iap/web_backend_service_iam_policy.py +97 -92
  954. pulumi_gcp/iap/web_iam_binding.py +102 -97
  955. pulumi_gcp/iap/web_iam_member.py +102 -97
  956. pulumi_gcp/iap/web_iam_policy.py +97 -92
  957. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +102 -97
  958. pulumi_gcp/iap/web_region_backend_service_iam_member.py +102 -97
  959. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +97 -92
  960. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +102 -97
  961. pulumi_gcp/iap/web_type_app_enging_iam_member.py +102 -97
  962. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +97 -92
  963. pulumi_gcp/iap/web_type_compute_iam_binding.py +102 -97
  964. pulumi_gcp/iap/web_type_compute_iam_member.py +102 -97
  965. pulumi_gcp/iap/web_type_compute_iam_policy.py +97 -92
  966. pulumi_gcp/identityplatform/_inputs.py +576 -0
  967. pulumi_gcp/identityplatform/config.py +119 -114
  968. pulumi_gcp/identityplatform/default_supported_idp_config.py +5 -0
  969. pulumi_gcp/identityplatform/inbound_saml_config.py +39 -34
  970. pulumi_gcp/identityplatform/oauth_idp_config.py +5 -0
  971. pulumi_gcp/identityplatform/outputs.py +5 -0
  972. pulumi_gcp/identityplatform/project_default_config.py +38 -33
  973. pulumi_gcp/identityplatform/tenant.py +5 -0
  974. pulumi_gcp/identityplatform/tenant_default_supported_idp_config.py +5 -0
  975. pulumi_gcp/identityplatform/tenant_inbound_saml_config.py +39 -34
  976. pulumi_gcp/identityplatform/tenant_oauth_idp_config.py +5 -0
  977. pulumi_gcp/integrationconnectors/_inputs.py +868 -0
  978. pulumi_gcp/integrationconnectors/connection.py +465 -460
  979. pulumi_gcp/integrationconnectors/endpoint_attachment.py +5 -0
  980. pulumi_gcp/integrationconnectors/managed_zone.py +15 -10
  981. pulumi_gcp/integrationconnectors/outputs.py +5 -0
  982. pulumi_gcp/kms/_inputs.py +303 -0
  983. pulumi_gcp/kms/autokey_config.py +5 -0
  984. pulumi_gcp/kms/crypto_key.py +18 -13
  985. pulumi_gcp/kms/crypto_key_iam_binding.py +56 -51
  986. pulumi_gcp/kms/crypto_key_iam_member.py +56 -51
  987. pulumi_gcp/kms/crypto_key_iam_policy.py +51 -46
  988. pulumi_gcp/kms/crypto_key_version.py +12 -7
  989. pulumi_gcp/kms/ekm_connection.py +24 -19
  990. pulumi_gcp/kms/get_crypto_key_iam_policy.py +5 -0
  991. pulumi_gcp/kms/get_key_ring_iam_policy.py +5 -0
  992. pulumi_gcp/kms/get_kms_crypto_key.py +5 -0
  993. pulumi_gcp/kms/get_kms_crypto_key_version.py +5 -0
  994. pulumi_gcp/kms/get_kms_key_ring.py +5 -0
  995. pulumi_gcp/kms/get_kms_secret.py +11 -6
  996. pulumi_gcp/kms/get_kms_secret_asymmetric.py +17 -12
  997. pulumi_gcp/kms/get_kms_secret_ciphertext.py +23 -18
  998. pulumi_gcp/kms/key_handle.py +5 -0
  999. pulumi_gcp/kms/key_ring.py +5 -0
  1000. pulumi_gcp/kms/key_ring_iam_binding.py +102 -97
  1001. pulumi_gcp/kms/key_ring_iam_member.py +102 -97
  1002. pulumi_gcp/kms/key_ring_iam_policy.py +97 -92
  1003. pulumi_gcp/kms/key_ring_import_job.py +9 -4
  1004. pulumi_gcp/kms/outputs.py +5 -0
  1005. pulumi_gcp/kms/secret_ciphertext.py +23 -18
  1006. pulumi_gcp/logging/_inputs.py +520 -0
  1007. pulumi_gcp/logging/billing_account_bucket_config.py +15 -10
  1008. pulumi_gcp/logging/billing_account_exclusion.py +5 -0
  1009. pulumi_gcp/logging/billing_account_sink.py +15 -10
  1010. pulumi_gcp/logging/folder_bucket_config.py +15 -10
  1011. pulumi_gcp/logging/folder_exclusion.py +5 -0
  1012. pulumi_gcp/logging/folder_settings.py +5 -0
  1013. pulumi_gcp/logging/folder_sink.py +15 -10
  1014. pulumi_gcp/logging/get_folder_settings.py +5 -0
  1015. pulumi_gcp/logging/get_log_view_iam_policy.py +5 -0
  1016. pulumi_gcp/logging/get_organization_settings.py +5 -0
  1017. pulumi_gcp/logging/get_project_cmek_settings.py +5 -0
  1018. pulumi_gcp/logging/get_project_settings.py +5 -0
  1019. pulumi_gcp/logging/get_sink.py +5 -0
  1020. pulumi_gcp/logging/linked_dataset.py +10 -5
  1021. pulumi_gcp/logging/log_view.py +5 -0
  1022. pulumi_gcp/logging/log_view_iam_binding.py +10 -5
  1023. pulumi_gcp/logging/log_view_iam_member.py +10 -5
  1024. pulumi_gcp/logging/log_view_iam_policy.py +5 -0
  1025. pulumi_gcp/logging/metric.py +97 -92
  1026. pulumi_gcp/logging/organization_bucket_config.py +15 -10
  1027. pulumi_gcp/logging/organization_exclusion.py +5 -0
  1028. pulumi_gcp/logging/organization_settings.py +5 -0
  1029. pulumi_gcp/logging/organization_sink.py +15 -10
  1030. pulumi_gcp/logging/outputs.py +5 -0
  1031. pulumi_gcp/logging/project_bucket_config.py +21 -16
  1032. pulumi_gcp/logging/project_exclusion.py +5 -0
  1033. pulumi_gcp/logging/project_sink.py +15 -10
  1034. pulumi_gcp/looker/_inputs.py +211 -0
  1035. pulumi_gcp/looker/instance.py +204 -199
  1036. pulumi_gcp/looker/outputs.py +5 -0
  1037. pulumi_gcp/managedkafka/_inputs.py +69 -0
  1038. pulumi_gcp/managedkafka/cluster.py +72 -67
  1039. pulumi_gcp/managedkafka/outputs.py +5 -0
  1040. pulumi_gcp/managedkafka/topic.py +27 -22
  1041. pulumi_gcp/memcache/_inputs.py +184 -0
  1042. pulumi_gcp/memcache/instance.py +56 -51
  1043. pulumi_gcp/memcache/outputs.py +5 -0
  1044. pulumi_gcp/migrationcenter/_inputs.py +182 -0
  1045. pulumi_gcp/migrationcenter/group.py +5 -0
  1046. pulumi_gcp/migrationcenter/outputs.py +5 -0
  1047. pulumi_gcp/migrationcenter/preference_set.py +82 -77
  1048. pulumi_gcp/ml/_inputs.py +17 -0
  1049. pulumi_gcp/ml/engine_model.py +10 -5
  1050. pulumi_gcp/ml/outputs.py +5 -0
  1051. pulumi_gcp/monitoring/_inputs.py +1651 -12
  1052. pulumi_gcp/monitoring/alert_policy.py +128 -123
  1053. pulumi_gcp/monitoring/custom_service.py +16 -11
  1054. pulumi_gcp/monitoring/dashboard.py +5 -0
  1055. pulumi_gcp/monitoring/generic_service.py +20 -15
  1056. pulumi_gcp/monitoring/get_app_engine_service.py +21 -16
  1057. pulumi_gcp/monitoring/get_cluster_istio_service.py +5 -0
  1058. pulumi_gcp/monitoring/get_istio_canonical_service.py +5 -0
  1059. pulumi_gcp/monitoring/get_mesh_istio_service.py +5 -0
  1060. pulumi_gcp/monitoring/get_notification_channel.py +29 -24
  1061. pulumi_gcp/monitoring/get_secret_version.py +5 -0
  1062. pulumi_gcp/monitoring/get_uptime_check_i_ps.py +5 -0
  1063. pulumi_gcp/monitoring/group.py +5 -0
  1064. pulumi_gcp/monitoring/metric_descriptor.py +49 -44
  1065. pulumi_gcp/monitoring/monitored_project.py +5 -0
  1066. pulumi_gcp/monitoring/notification_channel.py +16 -11
  1067. pulumi_gcp/monitoring/outputs.py +5 -0
  1068. pulumi_gcp/monitoring/slo.py +120 -115
  1069. pulumi_gcp/monitoring/uptime_check_config.py +241 -236
  1070. pulumi_gcp/netapp/_inputs.py +311 -0
  1071. pulumi_gcp/netapp/active_directory.py +5 -0
  1072. pulumi_gcp/netapp/backup.py +11 -6
  1073. pulumi_gcp/netapp/backup_policy.py +5 -0
  1074. pulumi_gcp/netapp/backup_vault.py +5 -0
  1075. pulumi_gcp/netapp/kmsconfig.py +5 -0
  1076. pulumi_gcp/netapp/outputs.py +5 -0
  1077. pulumi_gcp/netapp/storage_pool.py +5 -0
  1078. pulumi_gcp/netapp/volume.py +27 -22
  1079. pulumi_gcp/netapp/volume_replication.py +24 -19
  1080. pulumi_gcp/netapp/volume_snapshot.py +5 -0
  1081. pulumi_gcp/networkconnectivity/_inputs.py +253 -0
  1082. pulumi_gcp/networkconnectivity/hub.py +7 -2
  1083. pulumi_gcp/networkconnectivity/internal_range.py +5 -0
  1084. pulumi_gcp/networkconnectivity/outputs.py +5 -0
  1085. pulumi_gcp/networkconnectivity/policy_based_route.py +46 -41
  1086. pulumi_gcp/networkconnectivity/regional_endpoint.py +5 -0
  1087. pulumi_gcp/networkconnectivity/service_connection_policy.py +20 -15
  1088. pulumi_gcp/networkconnectivity/spoke.py +71 -66
  1089. pulumi_gcp/networkmanagement/_inputs.py +87 -0
  1090. pulumi_gcp/networkmanagement/connectivity_test.py +85 -80
  1091. pulumi_gcp/networkmanagement/outputs.py +5 -0
  1092. pulumi_gcp/networksecurity/_inputs.py +321 -0
  1093. pulumi_gcp/networksecurity/address_group.py +5 -0
  1094. pulumi_gcp/networksecurity/address_group_iam_binding.py +8 -3
  1095. pulumi_gcp/networksecurity/address_group_iam_member.py +8 -3
  1096. pulumi_gcp/networksecurity/address_group_iam_policy.py +5 -0
  1097. pulumi_gcp/networksecurity/authorization_policy.py +52 -47
  1098. pulumi_gcp/networksecurity/client_tls_policy.py +45 -40
  1099. pulumi_gcp/networksecurity/firewall_endpoint.py +5 -0
  1100. pulumi_gcp/networksecurity/firewall_endpoint_association.py +5 -0
  1101. pulumi_gcp/networksecurity/gateway_security_policy.py +91 -86
  1102. pulumi_gcp/networksecurity/gateway_security_policy_rule.py +5 -0
  1103. pulumi_gcp/networksecurity/get_address_group_iam_policy.py +5 -0
  1104. pulumi_gcp/networksecurity/outputs.py +5 -0
  1105. pulumi_gcp/networksecurity/security_profile.py +40 -35
  1106. pulumi_gcp/networksecurity/security_profile_group.py +5 -0
  1107. pulumi_gcp/networksecurity/server_tls_policy.py +101 -96
  1108. pulumi_gcp/networksecurity/tls_inspection_policy.py +193 -188
  1109. pulumi_gcp/networksecurity/url_list.py +5 -0
  1110. pulumi_gcp/networkservices/_inputs.py +1781 -29
  1111. pulumi_gcp/networkservices/edge_cache_keyset.py +51 -46
  1112. pulumi_gcp/networkservices/edge_cache_origin.py +89 -84
  1113. pulumi_gcp/networkservices/edge_cache_service.py +567 -562
  1114. pulumi_gcp/networkservices/endpoint_policy.py +55 -50
  1115. pulumi_gcp/networkservices/gateway.py +21 -16
  1116. pulumi_gcp/networkservices/grpc_route.py +146 -141
  1117. pulumi_gcp/networkservices/http_route.py +294 -289
  1118. pulumi_gcp/networkservices/lb_route_extension.py +10 -5
  1119. pulumi_gcp/networkservices/lb_traffic_extension.py +10 -5
  1120. pulumi_gcp/networkservices/mesh.py +5 -0
  1121. pulumi_gcp/networkservices/outputs.py +5 -0
  1122. pulumi_gcp/networkservices/service_binding.py +5 -0
  1123. pulumi_gcp/networkservices/service_lb_policies.py +27 -22
  1124. pulumi_gcp/networkservices/tcp_route.py +106 -101
  1125. pulumi_gcp/networkservices/tls_route.py +82 -77
  1126. pulumi_gcp/notebooks/_inputs.py +615 -0
  1127. pulumi_gcp/notebooks/environment.py +21 -16
  1128. pulumi_gcp/notebooks/get_instance_iam_policy.py +5 -0
  1129. pulumi_gcp/notebooks/get_runtime_iam_policy.py +5 -0
  1130. pulumi_gcp/notebooks/instance.py +78 -73
  1131. pulumi_gcp/notebooks/instance_iam_binding.py +24 -19
  1132. pulumi_gcp/notebooks/instance_iam_member.py +24 -19
  1133. pulumi_gcp/notebooks/instance_iam_policy.py +21 -16
  1134. pulumi_gcp/notebooks/location.py +5 -0
  1135. pulumi_gcp/notebooks/outputs.py +5 -0
  1136. pulumi_gcp/notebooks/runtime.py +222 -217
  1137. pulumi_gcp/notebooks/runtime_iam_binding.py +24 -19
  1138. pulumi_gcp/notebooks/runtime_iam_member.py +24 -19
  1139. pulumi_gcp/notebooks/runtime_iam_policy.py +21 -16
  1140. pulumi_gcp/organizations/_inputs.py +231 -0
  1141. pulumi_gcp/organizations/access_approval_settings.py +36 -31
  1142. pulumi_gcp/organizations/folder.py +5 -0
  1143. pulumi_gcp/organizations/get_active_folder.py +5 -0
  1144. pulumi_gcp/organizations/get_billing_account.py +5 -0
  1145. pulumi_gcp/organizations/get_client_config.py +5 -0
  1146. pulumi_gcp/organizations/get_client_open_id_user_info.py +5 -0
  1147. pulumi_gcp/organizations/get_folder.py +5 -0
  1148. pulumi_gcp/organizations/get_folders.py +5 -0
  1149. pulumi_gcp/organizations/get_iam_policy.py +13 -8
  1150. pulumi_gcp/organizations/get_organization.py +5 -0
  1151. pulumi_gcp/organizations/get_project.py +5 -0
  1152. pulumi_gcp/organizations/iam_audit_config.py +18 -13
  1153. pulumi_gcp/organizations/iam_binding.py +8 -3
  1154. pulumi_gcp/organizations/iam_custom_role.py +5 -0
  1155. pulumi_gcp/organizations/iam_member.py +130 -125
  1156. pulumi_gcp/organizations/iam_policy.py +125 -120
  1157. pulumi_gcp/organizations/outputs.py +5 -0
  1158. pulumi_gcp/organizations/policy.py +54 -49
  1159. pulumi_gcp/organizations/project.py +5 -0
  1160. pulumi_gcp/orgpolicy/_inputs.py +183 -0
  1161. pulumi_gcp/orgpolicy/custom_constraint.py +15 -10
  1162. pulumi_gcp/orgpolicy/outputs.py +5 -0
  1163. pulumi_gcp/orgpolicy/policy.py +103 -98
  1164. pulumi_gcp/osconfig/_inputs.py +2235 -30
  1165. pulumi_gcp/osconfig/guest_policies.py +171 -166
  1166. pulumi_gcp/osconfig/os_policy_assignment.py +158 -153
  1167. pulumi_gcp/osconfig/outputs.py +5 -0
  1168. pulumi_gcp/osconfig/patch_deployment.py +326 -321
  1169. pulumi_gcp/oslogin/ssh_public_key.py +5 -0
  1170. pulumi_gcp/parallelstore/instance.py +5 -0
  1171. pulumi_gcp/privilegedaccessmanager/_inputs.py +170 -0
  1172. pulumi_gcp/privilegedaccessmanager/entitlement.py +94 -89
  1173. pulumi_gcp/privilegedaccessmanager/outputs.py +5 -0
  1174. pulumi_gcp/projects/_inputs.py +262 -0
  1175. pulumi_gcp/projects/access_approval_settings.py +30 -25
  1176. pulumi_gcp/projects/api_key.py +88 -83
  1177. pulumi_gcp/projects/default_service_accounts.py +5 -0
  1178. pulumi_gcp/projects/get_iam_policy.py +5 -0
  1179. pulumi_gcp/projects/get_organization_policy.py +5 -0
  1180. pulumi_gcp/projects/get_project.py +5 -0
  1181. pulumi_gcp/projects/get_project_service.py +5 -0
  1182. pulumi_gcp/projects/iam_audit_config.py +130 -125
  1183. pulumi_gcp/projects/iam_binding.py +130 -125
  1184. pulumi_gcp/projects/iam_custom_role.py +5 -0
  1185. pulumi_gcp/projects/iam_member.py +130 -125
  1186. pulumi_gcp/projects/iam_member_remove.py +5 -0
  1187. pulumi_gcp/projects/iam_policy.py +125 -120
  1188. pulumi_gcp/projects/organization_policy.py +54 -49
  1189. pulumi_gcp/projects/outputs.py +5 -0
  1190. pulumi_gcp/projects/service.py +5 -0
  1191. pulumi_gcp/projects/service_identity.py +5 -0
  1192. pulumi_gcp/projects/usage_export_bucket.py +5 -0
  1193. pulumi_gcp/provider.py +7 -2
  1194. pulumi_gcp/pubsub/_inputs.py +438 -0
  1195. pulumi_gcp/pubsub/get_schema_iam_policy.py +5 -0
  1196. pulumi_gcp/pubsub/get_subscription.py +5 -0
  1197. pulumi_gcp/pubsub/get_subscription_iam_policy.py +5 -0
  1198. pulumi_gcp/pubsub/get_topic.py +5 -0
  1199. pulumi_gcp/pubsub/get_topic_iam_policy.py +5 -0
  1200. pulumi_gcp/pubsub/lite_reservation.py +5 -0
  1201. pulumi_gcp/pubsub/lite_subscription.py +36 -31
  1202. pulumi_gcp/pubsub/lite_topic.py +46 -41
  1203. pulumi_gcp/pubsub/outputs.py +5 -0
  1204. pulumi_gcp/pubsub/schema.py +13 -8
  1205. pulumi_gcp/pubsub/schema_iam_binding.py +24 -19
  1206. pulumi_gcp/pubsub/schema_iam_member.py +24 -19
  1207. pulumi_gcp/pubsub/schema_iam_policy.py +21 -16
  1208. pulumi_gcp/pubsub/subscription.py +141 -136
  1209. pulumi_gcp/pubsub/subscription_iam_binding.py +24 -19
  1210. pulumi_gcp/pubsub/subscription_iam_member.py +24 -19
  1211. pulumi_gcp/pubsub/subscription_iam_policy.py +21 -16
  1212. pulumi_gcp/pubsub/topic.py +50 -45
  1213. pulumi_gcp/pubsub/topic_iam_binding.py +24 -19
  1214. pulumi_gcp/pubsub/topic_iam_member.py +24 -19
  1215. pulumi_gcp/pubsub/topic_iam_policy.py +21 -16
  1216. pulumi_gcp/pulumi-plugin.json +1 -1
  1217. pulumi_gcp/recaptcha/_inputs.py +89 -0
  1218. pulumi_gcp/recaptcha/enterprise_key.py +132 -127
  1219. pulumi_gcp/recaptcha/outputs.py +5 -0
  1220. pulumi_gcp/redis/_inputs.py +321 -0
  1221. pulumi_gcp/redis/cluster.py +59 -54
  1222. pulumi_gcp/redis/get_instance.py +5 -0
  1223. pulumi_gcp/redis/instance.py +51 -46
  1224. pulumi_gcp/redis/outputs.py +5 -0
  1225. pulumi_gcp/resourcemanager/lien.py +5 -0
  1226. pulumi_gcp/runtimeconfig/_inputs.py +25 -0
  1227. pulumi_gcp/runtimeconfig/config.py +5 -0
  1228. pulumi_gcp/runtimeconfig/config_iam_binding.py +8 -3
  1229. pulumi_gcp/runtimeconfig/config_iam_member.py +8 -3
  1230. pulumi_gcp/runtimeconfig/config_iam_policy.py +5 -0
  1231. pulumi_gcp/runtimeconfig/get_config.py +5 -0
  1232. pulumi_gcp/runtimeconfig/get_config_iam_policy.py +5 -0
  1233. pulumi_gcp/runtimeconfig/get_variable.py +5 -0
  1234. pulumi_gcp/runtimeconfig/outputs.py +5 -0
  1235. pulumi_gcp/runtimeconfig/variable.py +5 -0
  1236. pulumi_gcp/secretmanager/_inputs.py +143 -0
  1237. pulumi_gcp/secretmanager/get_secret.py +5 -0
  1238. pulumi_gcp/secretmanager/get_secret_iam_policy.py +5 -0
  1239. pulumi_gcp/secretmanager/get_secret_version.py +5 -0
  1240. pulumi_gcp/secretmanager/get_secret_version_access.py +5 -0
  1241. pulumi_gcp/secretmanager/get_secrets.py +5 -0
  1242. pulumi_gcp/secretmanager/outputs.py +5 -0
  1243. pulumi_gcp/secretmanager/secret.py +68 -63
  1244. pulumi_gcp/secretmanager/secret_iam_binding.py +102 -97
  1245. pulumi_gcp/secretmanager/secret_iam_member.py +102 -97
  1246. pulumi_gcp/secretmanager/secret_iam_policy.py +97 -92
  1247. pulumi_gcp/secretmanager/secret_version.py +53 -48
  1248. pulumi_gcp/securesourcemanager/_inputs.py +75 -0
  1249. pulumi_gcp/securesourcemanager/get_instance_iam_policy.py +5 -0
  1250. pulumi_gcp/securesourcemanager/instance.py +78 -73
  1251. pulumi_gcp/securesourcemanager/instance_iam_binding.py +8 -3
  1252. pulumi_gcp/securesourcemanager/instance_iam_member.py +8 -3
  1253. pulumi_gcp/securesourcemanager/instance_iam_policy.py +5 -0
  1254. pulumi_gcp/securesourcemanager/outputs.py +5 -0
  1255. pulumi_gcp/securitycenter/_inputs.py +860 -7
  1256. pulumi_gcp/securitycenter/event_threat_detection_custom_module.py +5 -0
  1257. pulumi_gcp/securitycenter/folder_custom_module.py +82 -77
  1258. pulumi_gcp/securitycenter/get_source_iam_policy.py +5 -0
  1259. pulumi_gcp/securitycenter/instance_iam_binding.py +38 -33
  1260. pulumi_gcp/securitycenter/instance_iam_member.py +38 -33
  1261. pulumi_gcp/securitycenter/instance_iam_policy.py +35 -30
  1262. pulumi_gcp/securitycenter/management_folder_security_health_analytics_custom_module.py +82 -77
  1263. pulumi_gcp/securitycenter/management_organization_event_threat_detection_custom_module.py +5 -0
  1264. pulumi_gcp/securitycenter/management_organization_security_health_analytics_custom_module.py +82 -77
  1265. pulumi_gcp/securitycenter/management_project_security_health_analytics_custom_module.py +82 -77
  1266. pulumi_gcp/securitycenter/mute_config.py +5 -0
  1267. pulumi_gcp/securitycenter/notification_config.py +16 -11
  1268. pulumi_gcp/securitycenter/organization_custom_module.py +82 -77
  1269. pulumi_gcp/securitycenter/outputs.py +5 -0
  1270. pulumi_gcp/securitycenter/project_custom_module.py +82 -77
  1271. pulumi_gcp/securitycenter/source.py +5 -0
  1272. pulumi_gcp/securitycenter/source_iam_binding.py +8 -3
  1273. pulumi_gcp/securitycenter/source_iam_member.py +8 -3
  1274. pulumi_gcp/securitycenter/source_iam_policy.py +5 -0
  1275. pulumi_gcp/securityposture/_inputs.py +457 -0
  1276. pulumi_gcp/securityposture/outputs.py +5 -0
  1277. pulumi_gcp/securityposture/posture.py +186 -181
  1278. pulumi_gcp/securityposture/posture_deployment.py +35 -30
  1279. pulumi_gcp/serviceaccount/_inputs.py +51 -0
  1280. pulumi_gcp/serviceaccount/account.py +5 -0
  1281. pulumi_gcp/serviceaccount/get_account.py +5 -0
  1282. pulumi_gcp/serviceaccount/get_account_access_token.py +5 -0
  1283. pulumi_gcp/serviceaccount/get_account_id_token.py +5 -0
  1284. pulumi_gcp/serviceaccount/get_account_jwt.py +5 -0
  1285. pulumi_gcp/serviceaccount/get_account_key.py +5 -0
  1286. pulumi_gcp/serviceaccount/get_iam_policy.py +5 -0
  1287. pulumi_gcp/serviceaccount/iam_binding.py +66 -61
  1288. pulumi_gcp/serviceaccount/iam_member.py +66 -61
  1289. pulumi_gcp/serviceaccount/iam_policy.py +61 -56
  1290. pulumi_gcp/serviceaccount/key.py +5 -0
  1291. pulumi_gcp/serviceaccount/outputs.py +5 -0
  1292. pulumi_gcp/servicedirectory/_inputs.py +43 -0
  1293. pulumi_gcp/servicedirectory/endpoint.py +5 -0
  1294. pulumi_gcp/servicedirectory/get_namespace_iam_policy.py +5 -0
  1295. pulumi_gcp/servicedirectory/get_service_iam_policy.py +5 -0
  1296. pulumi_gcp/servicedirectory/namespace.py +5 -0
  1297. pulumi_gcp/servicedirectory/namespace_iam_binding.py +24 -19
  1298. pulumi_gcp/servicedirectory/namespace_iam_member.py +24 -19
  1299. pulumi_gcp/servicedirectory/namespace_iam_policy.py +21 -16
  1300. pulumi_gcp/servicedirectory/outputs.py +5 -0
  1301. pulumi_gcp/servicedirectory/service.py +5 -0
  1302. pulumi_gcp/servicedirectory/service_iam_binding.py +24 -19
  1303. pulumi_gcp/servicedirectory/service_iam_member.py +24 -19
  1304. pulumi_gcp/servicedirectory/service_iam_policy.py +21 -16
  1305. pulumi_gcp/servicenetworking/connection.py +5 -0
  1306. pulumi_gcp/servicenetworking/get_peered_dns_domain.py +5 -0
  1307. pulumi_gcp/servicenetworking/peered_dns_domain.py +5 -0
  1308. pulumi_gcp/servicenetworking/vpc_service_controls.py +5 -0
  1309. pulumi_gcp/serviceusage/consumer_quota_override.py +5 -0
  1310. pulumi_gcp/sourcerepo/_inputs.py +49 -0
  1311. pulumi_gcp/sourcerepo/get_repository.py +5 -0
  1312. pulumi_gcp/sourcerepo/get_repository_iam_policy.py +5 -0
  1313. pulumi_gcp/sourcerepo/outputs.py +5 -0
  1314. pulumi_gcp/sourcerepo/repository.py +20 -15
  1315. pulumi_gcp/sourcerepo/repository_iam_binding.py +24 -19
  1316. pulumi_gcp/sourcerepo/repository_iam_member.py +24 -19
  1317. pulumi_gcp/sourcerepo/repository_iam_policy.py +21 -16
  1318. pulumi_gcp/spanner/_inputs.py +157 -0
  1319. pulumi_gcp/spanner/database.py +10 -5
  1320. pulumi_gcp/spanner/database_iam_binding.py +102 -97
  1321. pulumi_gcp/spanner/database_iam_member.py +102 -97
  1322. pulumi_gcp/spanner/database_iam_policy.py +97 -92
  1323. pulumi_gcp/spanner/get_database_iam_policy.py +5 -0
  1324. pulumi_gcp/spanner/get_instance.py +5 -0
  1325. pulumi_gcp/spanner/get_instance_iam_policy.py +5 -0
  1326. pulumi_gcp/spanner/instance.py +30 -25
  1327. pulumi_gcp/spanner/instance_config.py +10 -5
  1328. pulumi_gcp/spanner/instance_iam_binding.py +24 -19
  1329. pulumi_gcp/spanner/instance_iam_member.py +24 -19
  1330. pulumi_gcp/spanner/instance_iam_policy.py +21 -16
  1331. pulumi_gcp/spanner/outputs.py +5 -0
  1332. pulumi_gcp/sql/_inputs.py +616 -0
  1333. pulumi_gcp/sql/database.py +17 -12
  1334. pulumi_gcp/sql/database_instance.py +93 -88
  1335. pulumi_gcp/sql/get_backup_run.py +5 -0
  1336. pulumi_gcp/sql/get_ca_certs.py +5 -0
  1337. pulumi_gcp/sql/get_database.py +5 -0
  1338. pulumi_gcp/sql/get_database_instance.py +5 -0
  1339. pulumi_gcp/sql/get_database_instance_latest_recovery_time.py +5 -0
  1340. pulumi_gcp/sql/get_database_instances.py +5 -0
  1341. pulumi_gcp/sql/get_databases.py +5 -0
  1342. pulumi_gcp/sql/get_tiers.py +5 -0
  1343. pulumi_gcp/sql/outputs.py +5 -0
  1344. pulumi_gcp/sql/source_representation_instance.py +5 -0
  1345. pulumi_gcp/sql/ssl_cert.py +11 -6
  1346. pulumi_gcp/sql/user.py +43 -38
  1347. pulumi_gcp/storage/_inputs.py +828 -0
  1348. pulumi_gcp/storage/bucket.py +125 -120
  1349. pulumi_gcp/storage/bucket_access_control.py +5 -0
  1350. pulumi_gcp/storage/bucket_acl.py +5 -0
  1351. pulumi_gcp/storage/bucket_iam_binding.py +102 -97
  1352. pulumi_gcp/storage/bucket_iam_member.py +102 -97
  1353. pulumi_gcp/storage/bucket_iam_policy.py +97 -92
  1354. pulumi_gcp/storage/bucket_object.py +15 -10
  1355. pulumi_gcp/storage/default_object_access_control.py +7 -2
  1356. pulumi_gcp/storage/default_object_acl.py +5 -0
  1357. pulumi_gcp/storage/get_bucket.py +5 -0
  1358. pulumi_gcp/storage/get_bucket_iam_policy.py +5 -0
  1359. pulumi_gcp/storage/get_bucket_object.py +5 -0
  1360. pulumi_gcp/storage/get_bucket_object_content.py +5 -0
  1361. pulumi_gcp/storage/get_bucket_objects.py +5 -0
  1362. pulumi_gcp/storage/get_buckets.py +5 -0
  1363. pulumi_gcp/storage/get_object_signed_url.py +5 -0
  1364. pulumi_gcp/storage/get_project_service_account.py +11 -6
  1365. pulumi_gcp/storage/get_transfer_project_service_account.py +5 -0
  1366. pulumi_gcp/storage/get_transfer_project_servie_account.py +5 -0
  1367. pulumi_gcp/storage/hmac_key.py +5 -0
  1368. pulumi_gcp/storage/insights_report_config.py +76 -71
  1369. pulumi_gcp/storage/notification.py +5 -0
  1370. pulumi_gcp/storage/object_access_control.py +7 -2
  1371. pulumi_gcp/storage/object_acl.py +5 -0
  1372. pulumi_gcp/storage/outputs.py +5 -0
  1373. pulumi_gcp/storage/transfer_agent_pool.py +16 -11
  1374. pulumi_gcp/storage/transfer_job.py +113 -108
  1375. pulumi_gcp/tags/_inputs.py +43 -0
  1376. pulumi_gcp/tags/get_tag_key.py +5 -0
  1377. pulumi_gcp/tags/get_tag_key_iam_policy.py +5 -0
  1378. pulumi_gcp/tags/get_tag_keys.py +5 -0
  1379. pulumi_gcp/tags/get_tag_value.py +5 -0
  1380. pulumi_gcp/tags/get_tag_value_iam_policy.py +5 -0
  1381. pulumi_gcp/tags/get_tag_values.py +5 -0
  1382. pulumi_gcp/tags/location_tag_binding.py +5 -0
  1383. pulumi_gcp/tags/outputs.py +5 -0
  1384. pulumi_gcp/tags/tag_binding.py +5 -0
  1385. pulumi_gcp/tags/tag_key.py +5 -0
  1386. pulumi_gcp/tags/tag_key_iam_binding.py +24 -19
  1387. pulumi_gcp/tags/tag_key_iam_member.py +24 -19
  1388. pulumi_gcp/tags/tag_key_iam_policy.py +21 -16
  1389. pulumi_gcp/tags/tag_value.py +5 -0
  1390. pulumi_gcp/tags/tag_value_iam_binding.py +24 -19
  1391. pulumi_gcp/tags/tag_value_iam_member.py +24 -19
  1392. pulumi_gcp/tags/tag_value_iam_policy.py +21 -16
  1393. pulumi_gcp/tpu/_inputs.py +194 -0
  1394. pulumi_gcp/tpu/get_tensorflow_versions.py +5 -0
  1395. pulumi_gcp/tpu/get_v2_accelerator_types.py +5 -0
  1396. pulumi_gcp/tpu/get_v2_runtime_versions.py +5 -0
  1397. pulumi_gcp/tpu/node.py +18 -13
  1398. pulumi_gcp/tpu/outputs.py +5 -0
  1399. pulumi_gcp/tpu/v2_vm.py +87 -82
  1400. pulumi_gcp/vertex/_inputs.py +841 -0
  1401. pulumi_gcp/vertex/ai_dataset.py +10 -5
  1402. pulumi_gcp/vertex/ai_deployment_resource_pool.py +36 -31
  1403. pulumi_gcp/vertex/ai_endpoint.py +18 -13
  1404. pulumi_gcp/vertex/ai_endpoint_iam_binding.py +8 -3
  1405. pulumi_gcp/vertex/ai_endpoint_iam_member.py +8 -3
  1406. pulumi_gcp/vertex/ai_endpoint_iam_policy.py +5 -0
  1407. pulumi_gcp/vertex/ai_feature_group.py +22 -17
  1408. pulumi_gcp/vertex/ai_feature_group_feature.py +17 -12
  1409. pulumi_gcp/vertex/ai_feature_online_store.py +73 -68
  1410. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +151 -146
  1411. pulumi_gcp/vertex/ai_feature_store.py +57 -52
  1412. pulumi_gcp/vertex/ai_feature_store_entity_type.py +92 -87
  1413. pulumi_gcp/vertex/ai_feature_store_entity_type_feature.py +41 -36
  1414. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +8 -3
  1415. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +8 -3
  1416. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +5 -0
  1417. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +8 -3
  1418. pulumi_gcp/vertex/ai_feature_store_iam_member.py +8 -3
  1419. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +5 -0
  1420. pulumi_gcp/vertex/ai_index.py +68 -63
  1421. pulumi_gcp/vertex/ai_index_endpoint.py +18 -13
  1422. pulumi_gcp/vertex/ai_metadata_store.py +12 -7
  1423. pulumi_gcp/vertex/ai_tensorboard.py +16 -11
  1424. pulumi_gcp/vertex/get_ai_endpoint_iam_policy.py +5 -0
  1425. pulumi_gcp/vertex/get_ai_featurestore_entitytype_iam_policy.py +5 -0
  1426. pulumi_gcp/vertex/get_ai_featurestore_iam_policy.py +5 -0
  1427. pulumi_gcp/vertex/get_ai_index.py +5 -0
  1428. pulumi_gcp/vertex/outputs.py +5 -0
  1429. pulumi_gcp/vmwareengine/_inputs.py +290 -0
  1430. pulumi_gcp/vmwareengine/cluster.py +74 -69
  1431. pulumi_gcp/vmwareengine/external_access_rule.py +61 -56
  1432. pulumi_gcp/vmwareengine/external_address.py +27 -22
  1433. pulumi_gcp/vmwareengine/get_cluster.py +5 -0
  1434. pulumi_gcp/vmwareengine/get_external_access_rule.py +5 -0
  1435. pulumi_gcp/vmwareengine/get_external_address.py +5 -0
  1436. pulumi_gcp/vmwareengine/get_network.py +5 -0
  1437. pulumi_gcp/vmwareengine/get_network_peering.py +5 -0
  1438. pulumi_gcp/vmwareengine/get_network_policy.py +5 -0
  1439. pulumi_gcp/vmwareengine/get_nsx_credentials.py +5 -0
  1440. pulumi_gcp/vmwareengine/get_private_cloud.py +5 -0
  1441. pulumi_gcp/vmwareengine/get_subnet.py +5 -0
  1442. pulumi_gcp/vmwareengine/get_vcenter_credentials.py +5 -0
  1443. pulumi_gcp/vmwareengine/network.py +7 -2
  1444. pulumi_gcp/vmwareengine/network_peering.py +5 -0
  1445. pulumi_gcp/vmwareengine/network_policy.py +27 -22
  1446. pulumi_gcp/vmwareengine/outputs.py +5 -0
  1447. pulumi_gcp/vmwareengine/private_cloud.py +67 -62
  1448. pulumi_gcp/vmwareengine/subnet.py +29 -24
  1449. pulumi_gcp/vpcaccess/_inputs.py +22 -0
  1450. pulumi_gcp/vpcaccess/connector.py +16 -11
  1451. pulumi_gcp/vpcaccess/get_connector.py +5 -0
  1452. pulumi_gcp/vpcaccess/outputs.py +5 -0
  1453. pulumi_gcp/workbench/_inputs.py +319 -0
  1454. pulumi_gcp/workbench/get_instance_iam_policy.py +5 -0
  1455. pulumi_gcp/workbench/instance.py +144 -139
  1456. pulumi_gcp/workbench/instance_iam_binding.py +8 -3
  1457. pulumi_gcp/workbench/instance_iam_member.py +8 -3
  1458. pulumi_gcp/workbench/instance_iam_policy.py +5 -0
  1459. pulumi_gcp/workbench/outputs.py +5 -0
  1460. pulumi_gcp/workflows/workflow.py +5 -0
  1461. pulumi_gcp/workstations/_inputs.py +433 -0
  1462. pulumi_gcp/workstations/get_workstation_config_iam_policy.py +5 -0
  1463. pulumi_gcp/workstations/get_workstation_iam_policy.py +5 -0
  1464. pulumi_gcp/workstations/outputs.py +5 -0
  1465. pulumi_gcp/workstations/workstation.py +19 -14
  1466. pulumi_gcp/workstations/workstation_cluster.py +35 -30
  1467. pulumi_gcp/workstations/workstation_config.py +251 -246
  1468. pulumi_gcp/workstations/workstation_config_iam_binding.py +8 -3
  1469. pulumi_gcp/workstations/workstation_config_iam_member.py +8 -3
  1470. pulumi_gcp/workstations/workstation_config_iam_policy.py +5 -0
  1471. pulumi_gcp/workstations/workstation_iam_binding.py +8 -3
  1472. pulumi_gcp/workstations/workstation_iam_member.py +8 -3
  1473. pulumi_gcp/workstations/workstation_iam_policy.py +5 -0
  1474. {pulumi_gcp-7.30.0a1719470057.dist-info → pulumi_gcp-7.30.0a1719513455.dist-info}/METADATA +2 -1
  1475. pulumi_gcp-7.30.0a1719513455.dist-info/RECORD +1600 -0
  1476. pulumi_gcp-7.30.0a1719470057.dist-info/RECORD +0 -1600
  1477. {pulumi_gcp-7.30.0a1719470057.dist-info → pulumi_gcp-7.30.0a1719513455.dist-info}/WHEEL +0 -0
  1478. {pulumi_gcp-7.30.0a1719470057.dist-info → pulumi_gcp-7.30.0a1719513455.dist-info}/top_level.txt +0 -0
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
  from . import outputs
12
17
  from ._inputs import *
@@ -275,7 +280,7 @@ class TaxonomyIamMember(pulumi.CustomResource):
275
280
  def __init__(__self__,
276
281
  resource_name: str,
277
282
  opts: Optional[pulumi.ResourceOptions] = None,
278
- condition: Optional[pulumi.Input[pulumi.InputType['TaxonomyIamMemberConditionArgs']]] = None,
283
+ condition: Optional[pulumi.Input[Union['TaxonomyIamMemberConditionArgs', 'TaxonomyIamMemberConditionArgsDict']]] = None,
279
284
  member: Optional[pulumi.Input[str]] = None,
280
285
  project: Optional[pulumi.Input[str]] = None,
281
286
  region: Optional[pulumi.Input[str]] = None,
@@ -303,10 +308,10 @@ class TaxonomyIamMember(pulumi.CustomResource):
303
308
  import pulumi
304
309
  import pulumi_gcp as gcp
305
310
 
306
- admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
307
- role="roles/viewer",
308
- members=["user:jane@example.com"],
309
- )])
311
+ admin = gcp.organizations.get_iam_policy(bindings=[{
312
+ "role": "roles/viewer",
313
+ "members": ["user:jane@example.com"],
314
+ }])
310
315
  policy = gcp.datacatalog.TaxonomyIamPolicy("policy",
311
316
  taxonomy=basic_taxonomy["name"],
312
317
  policy_data=admin.policy_data)
@@ -342,10 +347,10 @@ class TaxonomyIamMember(pulumi.CustomResource):
342
347
  import pulumi
343
348
  import pulumi_gcp as gcp
344
349
 
345
- admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
346
- role="roles/viewer",
347
- members=["user:jane@example.com"],
348
- )])
350
+ admin = gcp.organizations.get_iam_policy(bindings=[{
351
+ "role": "roles/viewer",
352
+ "members": ["user:jane@example.com"],
353
+ }])
349
354
  policy = gcp.datacatalog.TaxonomyIamPolicy("policy",
350
355
  taxonomy=basic_taxonomy["name"],
351
356
  policy_data=admin.policy_data)
@@ -460,10 +465,10 @@ class TaxonomyIamMember(pulumi.CustomResource):
460
465
  import pulumi
461
466
  import pulumi_gcp as gcp
462
467
 
463
- admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
464
- role="roles/viewer",
465
- members=["user:jane@example.com"],
466
- )])
468
+ admin = gcp.organizations.get_iam_policy(bindings=[{
469
+ "role": "roles/viewer",
470
+ "members": ["user:jane@example.com"],
471
+ }])
467
472
  policy = gcp.datacatalog.TaxonomyIamPolicy("policy",
468
473
  taxonomy=basic_taxonomy["name"],
469
474
  policy_data=admin.policy_data)
@@ -499,10 +504,10 @@ class TaxonomyIamMember(pulumi.CustomResource):
499
504
  import pulumi
500
505
  import pulumi_gcp as gcp
501
506
 
502
- admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
503
- role="roles/viewer",
504
- members=["user:jane@example.com"],
505
- )])
507
+ admin = gcp.organizations.get_iam_policy(bindings=[{
508
+ "role": "roles/viewer",
509
+ "members": ["user:jane@example.com"],
510
+ }])
506
511
  policy = gcp.datacatalog.TaxonomyIamPolicy("policy",
507
512
  taxonomy=basic_taxonomy["name"],
508
513
  policy_data=admin.policy_data)
@@ -585,7 +590,7 @@ class TaxonomyIamMember(pulumi.CustomResource):
585
590
  def _internal_init(__self__,
586
591
  resource_name: str,
587
592
  opts: Optional[pulumi.ResourceOptions] = None,
588
- condition: Optional[pulumi.Input[pulumi.InputType['TaxonomyIamMemberConditionArgs']]] = None,
593
+ condition: Optional[pulumi.Input[Union['TaxonomyIamMemberConditionArgs', 'TaxonomyIamMemberConditionArgsDict']]] = None,
589
594
  member: Optional[pulumi.Input[str]] = None,
590
595
  project: Optional[pulumi.Input[str]] = None,
591
596
  region: Optional[pulumi.Input[str]] = None,
@@ -623,7 +628,7 @@ class TaxonomyIamMember(pulumi.CustomResource):
623
628
  def get(resource_name: str,
624
629
  id: pulumi.Input[str],
625
630
  opts: Optional[pulumi.ResourceOptions] = None,
626
- condition: Optional[pulumi.Input[pulumi.InputType['TaxonomyIamMemberConditionArgs']]] = None,
631
+ condition: Optional[pulumi.Input[Union['TaxonomyIamMemberConditionArgs', 'TaxonomyIamMemberConditionArgsDict']]] = None,
627
632
  etag: Optional[pulumi.Input[str]] = None,
628
633
  member: Optional[pulumi.Input[str]] = None,
629
634
  project: Optional[pulumi.Input[str]] = None,
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
 
12
17
  __all__ = ['TaxonomyIamPolicyArgs', 'TaxonomyIamPolicy']
@@ -200,10 +205,10 @@ class TaxonomyIamPolicy(pulumi.CustomResource):
200
205
  import pulumi
201
206
  import pulumi_gcp as gcp
202
207
 
203
- admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
204
- role="roles/viewer",
205
- members=["user:jane@example.com"],
206
- )])
208
+ admin = gcp.organizations.get_iam_policy(bindings=[{
209
+ "role": "roles/viewer",
210
+ "members": ["user:jane@example.com"],
211
+ }])
207
212
  policy = gcp.datacatalog.TaxonomyIamPolicy("policy",
208
213
  taxonomy=basic_taxonomy["name"],
209
214
  policy_data=admin.policy_data)
@@ -239,10 +244,10 @@ class TaxonomyIamPolicy(pulumi.CustomResource):
239
244
  import pulumi
240
245
  import pulumi_gcp as gcp
241
246
 
242
- admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
243
- role="roles/viewer",
244
- members=["user:jane@example.com"],
245
- )])
247
+ admin = gcp.organizations.get_iam_policy(bindings=[{
248
+ "role": "roles/viewer",
249
+ "members": ["user:jane@example.com"],
250
+ }])
246
251
  policy = gcp.datacatalog.TaxonomyIamPolicy("policy",
247
252
  taxonomy=basic_taxonomy["name"],
248
253
  policy_data=admin.policy_data)
@@ -345,10 +350,10 @@ class TaxonomyIamPolicy(pulumi.CustomResource):
345
350
  import pulumi
346
351
  import pulumi_gcp as gcp
347
352
 
348
- admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
349
- role="roles/viewer",
350
- members=["user:jane@example.com"],
351
- )])
353
+ admin = gcp.organizations.get_iam_policy(bindings=[{
354
+ "role": "roles/viewer",
355
+ "members": ["user:jane@example.com"],
356
+ }])
352
357
  policy = gcp.datacatalog.TaxonomyIamPolicy("policy",
353
358
  taxonomy=basic_taxonomy["name"],
354
359
  policy_data=admin.policy_data)
@@ -384,10 +389,10 @@ class TaxonomyIamPolicy(pulumi.CustomResource):
384
389
  import pulumi
385
390
  import pulumi_gcp as gcp
386
391
 
387
- admin = gcp.organizations.get_iam_policy(bindings=[gcp.organizations.GetIAMPolicyBindingArgs(
388
- role="roles/viewer",
389
- members=["user:jane@example.com"],
390
- )])
392
+ admin = gcp.organizations.get_iam_policy(bindings=[{
393
+ "role": "roles/viewer",
394
+ "members": ["user:jane@example.com"],
395
+ }])
391
396
  policy = gcp.datacatalog.TaxonomyIamPolicy("policy",
392
397
  taxonomy=basic_taxonomy["name"],
393
398
  policy_data=admin.policy_data)
@@ -4,22 +4,56 @@
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
  'PipelineScheduleInfoArgs',
19
+ 'PipelineScheduleInfoArgsDict',
14
20
  'PipelineWorkloadArgs',
21
+ 'PipelineWorkloadArgsDict',
15
22
  'PipelineWorkloadDataflowFlexTemplateRequestArgs',
23
+ 'PipelineWorkloadDataflowFlexTemplateRequestArgsDict',
16
24
  'PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterArgs',
25
+ 'PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterArgsDict',
17
26
  'PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs',
27
+ 'PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgsDict',
18
28
  'PipelineWorkloadDataflowLaunchTemplateRequestArgs',
29
+ 'PipelineWorkloadDataflowLaunchTemplateRequestArgsDict',
19
30
  'PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersArgs',
31
+ 'PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersArgsDict',
20
32
  'PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs',
33
+ 'PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgsDict',
21
34
  ]
22
35
 
36
+ MYPY = False
37
+
38
+ if not MYPY:
39
+ class PipelineScheduleInfoArgsDict(TypedDict):
40
+ next_job_time: NotRequired[pulumi.Input[str]]
41
+ """
42
+ (Output)
43
+ When the next Scheduler job is going to run.
44
+ A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
45
+ """
46
+ schedule: NotRequired[pulumi.Input[str]]
47
+ """
48
+ Unix-cron format of the schedule. This information is retrieved from the linked Cloud Scheduler.
49
+ """
50
+ time_zone: NotRequired[pulumi.Input[str]]
51
+ """
52
+ Timezone ID. This matches the timezone IDs used by the Cloud Scheduler API. If empty, UTC time is assumed.
53
+ """
54
+ elif False:
55
+ PipelineScheduleInfoArgsDict: TypeAlias = Mapping[str, Any]
56
+
23
57
  @pulumi.input_type
24
58
  class PipelineScheduleInfoArgs:
25
59
  def __init__(__self__, *,
@@ -79,6 +113,23 @@ class PipelineScheduleInfoArgs:
79
113
  pulumi.set(self, "time_zone", value)
80
114
 
81
115
 
116
+ if not MYPY:
117
+ class PipelineWorkloadArgsDict(TypedDict):
118
+ dataflow_flex_template_request: NotRequired[pulumi.Input['PipelineWorkloadDataflowFlexTemplateRequestArgsDict']]
119
+ """
120
+ Template information and additional parameters needed to launch a Dataflow job using the flex launch API.
121
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#launchflextemplaterequest
122
+ Structure is documented below.
123
+ """
124
+ dataflow_launch_template_request: NotRequired[pulumi.Input['PipelineWorkloadDataflowLaunchTemplateRequestArgsDict']]
125
+ """
126
+ Template information and additional parameters needed to launch a Dataflow job using the standard launch API.
127
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#launchtemplaterequest
128
+ Structure is documented below.
129
+ """
130
+ elif False:
131
+ PipelineWorkloadArgsDict: TypeAlias = Mapping[str, Any]
132
+
82
133
  @pulumi.input_type
83
134
  class PipelineWorkloadArgs:
84
135
  def __init__(__self__, *,
@@ -126,6 +177,29 @@ class PipelineWorkloadArgs:
126
177
  pulumi.set(self, "dataflow_launch_template_request", value)
127
178
 
128
179
 
180
+ if not MYPY:
181
+ class PipelineWorkloadDataflowFlexTemplateRequestArgsDict(TypedDict):
182
+ launch_parameter: pulumi.Input['PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterArgsDict']
183
+ """
184
+ Parameter to launch a job from a Flex Template.
185
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#launchflextemplateparameter
186
+ Structure is documented below.
187
+ """
188
+ location: pulumi.Input[str]
189
+ """
190
+ The regional endpoint to which to direct the request. For example, us-central1, us-west1.
191
+ """
192
+ project_id: pulumi.Input[str]
193
+ """
194
+ The ID of the Cloud Platform project that the job belongs to.
195
+ """
196
+ validate_only: NotRequired[pulumi.Input[bool]]
197
+ """
198
+ If true, the request is validated but not actually executed. Defaults to false.
199
+ """
200
+ elif False:
201
+ PipelineWorkloadDataflowFlexTemplateRequestArgsDict: TypeAlias = Mapping[str, Any]
202
+
129
203
  @pulumi.input_type
130
204
  class PipelineWorkloadDataflowFlexTemplateRequestArgs:
131
205
  def __init__(__self__, *,
@@ -198,6 +272,44 @@ class PipelineWorkloadDataflowFlexTemplateRequestArgs:
198
272
  pulumi.set(self, "validate_only", value)
199
273
 
200
274
 
275
+ if not MYPY:
276
+ class PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterArgsDict(TypedDict):
277
+ job_name: pulumi.Input[str]
278
+ """
279
+ The job name to use for the created job. For an update job request, the job name should be the same as the existing running job.
280
+ """
281
+ container_spec_gcs_path: NotRequired[pulumi.Input[str]]
282
+ """
283
+ Cloud Storage path to a file with a JSON-serialized ContainerSpec as content.
284
+ """
285
+ environment: NotRequired[pulumi.Input['PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgsDict']]
286
+ """
287
+ The runtime environment for the Flex Template job.
288
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#FlexTemplateRuntimeEnvironment
289
+ Structure is documented below.
290
+ """
291
+ launch_options: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
292
+ """
293
+ Launch options for this Flex Template job. This is a common set of options across languages and templates. This should not be used to pass job parameters.
294
+ 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
295
+ """
296
+ parameters: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
297
+ """
298
+ 'The parameters for the Flex Template. Example: {"numWorkers":"5"}'
299
+ 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
300
+ """
301
+ transform_name_mappings: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
302
+ """
303
+ 'Use this to pass transform name mappings for streaming update jobs. Example: {"oldTransformName":"newTransformName",...}'
304
+ 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
305
+ """
306
+ update: NotRequired[pulumi.Input[bool]]
307
+ """
308
+ Set this to true if you are sending a request to update a running streaming job. When set, the job name should be the same as the running job.
309
+ """
310
+ elif False:
311
+ PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterArgsDict: TypeAlias = Mapping[str, Any]
312
+
201
313
  @pulumi.input_type
202
314
  class PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterArgs:
203
315
  def __init__(__self__, *,
@@ -326,6 +438,81 @@ class PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterArgs:
326
438
  pulumi.set(self, "update", value)
327
439
 
328
440
 
441
+ if not MYPY:
442
+ class PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgsDict(TypedDict):
443
+ additional_experiments: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
444
+ """
445
+ Additional experiment flags for the job.
446
+ """
447
+ additional_user_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
448
+ """
449
+ Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the labeling restrictions page. An object containing a list of key/value pairs.
450
+ 'Example: { "name": "wrench", "mass": "1kg", "count": "3" }.'
451
+ 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
452
+ """
453
+ enable_streaming_engine: NotRequired[pulumi.Input[bool]]
454
+ """
455
+ Whether to enable Streaming Engine for the job.
456
+ """
457
+ flexrs_goal: NotRequired[pulumi.Input[str]]
458
+ """
459
+ Set FlexRS goal for the job. https://cloud.google.com/dataflow/docs/guides/flexrs
460
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#FlexResourceSchedulingGoal
461
+ Possible values are: `FLEXRS_UNSPECIFIED`, `FLEXRS_SPEED_OPTIMIZED`, `FLEXRS_COST_OPTIMIZED`.
462
+ """
463
+ ip_configuration: NotRequired[pulumi.Input[str]]
464
+ """
465
+ Configuration for VM IPs.
466
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#WorkerIPAddressConfiguration
467
+ Possible values are: `WORKER_IP_UNSPECIFIED`, `WORKER_IP_PUBLIC`, `WORKER_IP_PRIVATE`.
468
+ """
469
+ kms_key_name: NotRequired[pulumi.Input[str]]
470
+ """
471
+ 'Name for the Cloud KMS key for the job. The key format is: projects//locations//keyRings//cryptoKeys/'
472
+ """
473
+ machine_type: NotRequired[pulumi.Input[str]]
474
+ """
475
+ The machine type to use for the job. Defaults to the value from the template if not specified.
476
+ """
477
+ max_workers: NotRequired[pulumi.Input[int]]
478
+ """
479
+ The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.
480
+ """
481
+ network: NotRequired[pulumi.Input[str]]
482
+ """
483
+ Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default".
484
+ """
485
+ num_workers: NotRequired[pulumi.Input[int]]
486
+ """
487
+ The initial number of Compute Engine instances for the job.
488
+ """
489
+ service_account_email: NotRequired[pulumi.Input[str]]
490
+ """
491
+ The email address of the service account to run the job as.
492
+ """
493
+ subnetwork: NotRequired[pulumi.Input[str]]
494
+ """
495
+ Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in a Shared VPC network, you must use the complete URL.
496
+ """
497
+ temp_location: NotRequired[pulumi.Input[str]]
498
+ """
499
+ The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
500
+ """
501
+ worker_region: NotRequired[pulumi.Input[str]]
502
+ """
503
+ The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with workerZone. If neither workerRegion nor workerZone is specified, default to the control plane's region.
504
+ """
505
+ worker_zone: NotRequired[pulumi.Input[str]]
506
+ """
507
+ The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1-a". Mutually exclusive with workerRegion. If neither workerRegion nor workerZone is specified, a zone in the control plane's region is chosen based on available capacity. If both workerZone and zone are set, workerZone takes precedence.
508
+ """
509
+ zone: NotRequired[pulumi.Input[str]]
510
+ """
511
+ The Compute Engine availability zone for launching worker instances to run your pipeline. In the future, workerZone will take precedence.
512
+ """
513
+ elif False:
514
+ PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgsDict: TypeAlias = Mapping[str, Any]
515
+
329
516
  @pulumi.input_type
330
517
  class PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs:
331
518
  def __init__(__self__, *,
@@ -601,6 +788,33 @@ class PipelineWorkloadDataflowFlexTemplateRequestLaunchParameterEnvironmentArgs:
601
788
  pulumi.set(self, "zone", value)
602
789
 
603
790
 
791
+ if not MYPY:
792
+ class PipelineWorkloadDataflowLaunchTemplateRequestArgsDict(TypedDict):
793
+ project_id: pulumi.Input[str]
794
+ """
795
+ The ID of the Cloud Platform project that the job belongs to.
796
+ """
797
+ gcs_path: NotRequired[pulumi.Input[str]]
798
+ """
799
+ A Cloud Storage path to the template from which to create the job. Must be a valid Cloud Storage URL, beginning with 'gs://'.
800
+ """
801
+ launch_parameters: NotRequired[pulumi.Input['PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersArgsDict']]
802
+ """
803
+ The parameters of the template to launch. This should be part of the body of the POST request.
804
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#launchtemplateparameters
805
+ Structure is documented below.
806
+ """
807
+ location: NotRequired[pulumi.Input[str]]
808
+ """
809
+ The regional endpoint to which to direct the request.
810
+ """
811
+ validate_only: NotRequired[pulumi.Input[bool]]
812
+ """
813
+ (Optional)
814
+ """
815
+ elif False:
816
+ PipelineWorkloadDataflowLaunchTemplateRequestArgsDict: TypeAlias = Mapping[str, Any]
817
+
604
818
  @pulumi.input_type
605
819
  class PipelineWorkloadDataflowLaunchTemplateRequestArgs:
606
820
  def __init__(__self__, *,
@@ -691,6 +905,35 @@ class PipelineWorkloadDataflowLaunchTemplateRequestArgs:
691
905
  pulumi.set(self, "validate_only", value)
692
906
 
693
907
 
908
+ if not MYPY:
909
+ class PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersArgsDict(TypedDict):
910
+ job_name: pulumi.Input[str]
911
+ """
912
+ The job name to use for the created job.
913
+ """
914
+ environment: NotRequired[pulumi.Input['PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgsDict']]
915
+ """
916
+ The runtime environment for the job.
917
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#RuntimeEnvironment
918
+ Structure is documented below.
919
+ """
920
+ parameters: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
921
+ """
922
+ The runtime parameters to pass to the job.
923
+ 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
924
+ """
925
+ transform_name_mapping: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
926
+ """
927
+ Map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job. Only applicable when updating a pipeline.
928
+ 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
929
+ """
930
+ update: NotRequired[pulumi.Input[bool]]
931
+ """
932
+ If set, replace the existing pipeline with the name specified by jobName with this pipeline, preserving state.
933
+ """
934
+ elif False:
935
+ PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersArgsDict: TypeAlias = Mapping[str, Any]
936
+
694
937
  @pulumi.input_type
695
938
  class PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersArgs:
696
939
  def __init__(__self__, *,
@@ -785,6 +1028,79 @@ class PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersArgs:
785
1028
  pulumi.set(self, "update", value)
786
1029
 
787
1030
 
1031
+ if not MYPY:
1032
+ class PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgsDict(TypedDict):
1033
+ additional_experiments: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
1034
+ """
1035
+ Additional experiment flags for the job.
1036
+ """
1037
+ additional_user_labels: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
1038
+ """
1039
+ Additional user labels to be specified for the job. Keys and values should follow the restrictions specified in the labeling restrictions page. An object containing a list of key/value pairs.
1040
+ 'Example: { "name": "wrench", "mass": "1kg", "count": "3" }.'
1041
+ 'An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.'
1042
+ """
1043
+ bypass_temp_dir_validation: NotRequired[pulumi.Input[bool]]
1044
+ """
1045
+ Whether to bypass the safety checks for the job's temporary directory. Use with caution.
1046
+ """
1047
+ enable_streaming_engine: NotRequired[pulumi.Input[bool]]
1048
+ """
1049
+ Whether to enable Streaming Engine for the job.
1050
+ """
1051
+ ip_configuration: NotRequired[pulumi.Input[str]]
1052
+ """
1053
+ Configuration for VM IPs.
1054
+ https://cloud.google.com/dataflow/docs/reference/data-pipelines/rest/v1/projects.locations.pipelines#WorkerIPAddressConfiguration
1055
+ Possible values are: `WORKER_IP_UNSPECIFIED`, `WORKER_IP_PUBLIC`, `WORKER_IP_PRIVATE`.
1056
+ """
1057
+ kms_key_name: NotRequired[pulumi.Input[str]]
1058
+ """
1059
+ 'Name for the Cloud KMS key for the job. The key format is: projects//locations//keyRings//cryptoKeys/'
1060
+ """
1061
+ machine_type: NotRequired[pulumi.Input[str]]
1062
+ """
1063
+ The machine type to use for the job. Defaults to the value from the template if not specified.
1064
+ """
1065
+ max_workers: NotRequired[pulumi.Input[int]]
1066
+ """
1067
+ The maximum number of Compute Engine instances to be made available to your pipeline during execution, from 1 to 1000.
1068
+ """
1069
+ network: NotRequired[pulumi.Input[str]]
1070
+ """
1071
+ Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default".
1072
+ """
1073
+ num_workers: NotRequired[pulumi.Input[int]]
1074
+ """
1075
+ The initial number of Compute Engine instances for the job.
1076
+ """
1077
+ service_account_email: NotRequired[pulumi.Input[str]]
1078
+ """
1079
+ The email address of the service account to run the job as.
1080
+ """
1081
+ subnetwork: NotRequired[pulumi.Input[str]]
1082
+ """
1083
+ Subnetwork to which VMs will be assigned, if desired. You can specify a subnetwork using either a complete URL or an abbreviated path. Expected to be of the form "https://www.googleapis.com/compute/v1/projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" or "regions/REGION/subnetworks/SUBNETWORK". If the subnetwork is located in a Shared VPC network, you must use the complete URL.
1084
+ """
1085
+ temp_location: NotRequired[pulumi.Input[str]]
1086
+ """
1087
+ The Cloud Storage path to use for temporary files. Must be a valid Cloud Storage URL, beginning with gs://.
1088
+ """
1089
+ worker_region: NotRequired[pulumi.Input[str]]
1090
+ """
1091
+ The Compute Engine region (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1". Mutually exclusive with workerZone. If neither workerRegion nor workerZone is specified, default to the control plane's region.
1092
+ """
1093
+ worker_zone: NotRequired[pulumi.Input[str]]
1094
+ """
1095
+ The Compute Engine zone (https://cloud.google.com/compute/docs/regions-zones/regions-zones) in which worker processing should occur, e.g. "us-west1-a". Mutually exclusive with workerRegion. If neither workerRegion nor workerZone is specified, a zone in the control plane's region is chosen based on available capacity. If both workerZone and zone are set, workerZone takes precedence.
1096
+ """
1097
+ zone: NotRequired[pulumi.Input[str]]
1098
+ """
1099
+ The Compute Engine availability zone for launching worker instances to run your pipeline. In the future, workerZone will take precedence.
1100
+ """
1101
+ elif False:
1102
+ PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgsDict: TypeAlias = Mapping[str, Any]
1103
+
788
1104
  @pulumi.input_type
789
1105
  class PipelineWorkloadDataflowLaunchTemplateRequestLaunchParametersEnvironmentArgs:
790
1106
  def __init__(__self__, *,
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
 
12
17
  __all__ = ['FlexTemplateJobArgs', 'FlexTemplateJob']
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
 
12
17
  __all__ = ['JobArgs', 'Job']
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
10
  from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
10
15
  from .. import _utilities
11
16
  from . import outputs
12
17