pulumi-gcp 8.40.0a1754721948__py3-none-any.whl → 8.41.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (469) hide show
  1. pulumi_gcp/__init__.py +152 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
  3. pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +2 -0
  4. pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +2 -0
  5. pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +2 -0
  6. pulumi_gcp/accesscontextmanager/outputs.py +15 -3
  7. pulumi_gcp/apigateway/api_config_iam_binding.py +2 -0
  8. pulumi_gcp/apigateway/api_config_iam_member.py +2 -0
  9. pulumi_gcp/apigateway/api_config_iam_policy.py +2 -0
  10. pulumi_gcp/apigateway/api_iam_binding.py +2 -0
  11. pulumi_gcp/apigateway/api_iam_member.py +2 -0
  12. pulumi_gcp/apigateway/api_iam_policy.py +2 -0
  13. pulumi_gcp/apigateway/gateway_iam_binding.py +2 -0
  14. pulumi_gcp/apigateway/gateway_iam_member.py +2 -0
  15. pulumi_gcp/apigateway/gateway_iam_policy.py +2 -0
  16. pulumi_gcp/apigee/__init__.py +2 -0
  17. pulumi_gcp/apigee/_inputs.py +1435 -0
  18. pulumi_gcp/apigee/api_product.py +1698 -0
  19. pulumi_gcp/apigee/environment_iam_binding.py +2 -0
  20. pulumi_gcp/apigee/environment_iam_member.py +2 -0
  21. pulumi_gcp/apigee/environment_iam_policy.py +2 -0
  22. pulumi_gcp/apigee/outputs.py +1081 -0
  23. pulumi_gcp/apigee/security_action.py +1010 -0
  24. pulumi_gcp/artifactregistry/__init__.py +6 -0
  25. pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
  26. pulumi_gcp/artifactregistry/get_package.py +220 -0
  27. pulumi_gcp/artifactregistry/get_repositories.py +160 -0
  28. pulumi_gcp/artifactregistry/get_tag.py +187 -0
  29. pulumi_gcp/artifactregistry/get_tags.py +200 -0
  30. pulumi_gcp/artifactregistry/get_version.py +261 -0
  31. pulumi_gcp/artifactregistry/outputs.py +239 -2
  32. pulumi_gcp/artifactregistry/repository.py +6 -6
  33. pulumi_gcp/artifactregistry/repository_iam_binding.py +2 -0
  34. pulumi_gcp/artifactregistry/repository_iam_member.py +2 -0
  35. pulumi_gcp/artifactregistry/repository_iam_policy.py +2 -0
  36. pulumi_gcp/backupdisasterrecovery/backup_plan.py +114 -7
  37. pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
  38. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +12 -1
  39. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
  40. pulumi_gcp/beyondcorp/application_iam_binding.py +8 -0
  41. pulumi_gcp/beyondcorp/application_iam_member.py +8 -0
  42. pulumi_gcp/beyondcorp/application_iam_policy.py +8 -0
  43. pulumi_gcp/beyondcorp/get_application_iam_policy.py +4 -0
  44. pulumi_gcp/beyondcorp/security_gateway_application_iam_binding.py +2 -0
  45. pulumi_gcp/beyondcorp/security_gateway_application_iam_member.py +2 -0
  46. pulumi_gcp/beyondcorp/security_gateway_application_iam_policy.py +2 -0
  47. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +2 -0
  48. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +2 -0
  49. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +2 -0
  50. pulumi_gcp/bigquery/_inputs.py +6 -0
  51. pulumi_gcp/bigquery/connection_iam_binding.py +2 -0
  52. pulumi_gcp/bigquery/connection_iam_member.py +2 -0
  53. pulumi_gcp/bigquery/connection_iam_policy.py +2 -0
  54. pulumi_gcp/bigquery/data_transfer_config.py +2 -0
  55. pulumi_gcp/bigquery/dataset.py +2 -2
  56. pulumi_gcp/bigquery/get_table.py +23 -1
  57. pulumi_gcp/bigquery/iam_binding.py +2 -0
  58. pulumi_gcp/bigquery/iam_member.py +2 -0
  59. pulumi_gcp/bigquery/iam_policy.py +2 -0
  60. pulumi_gcp/bigquery/outputs.py +4 -0
  61. pulumi_gcp/bigquery/reservation.py +535 -0
  62. pulumi_gcp/bigquery/table.py +62 -0
  63. pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
  64. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
  65. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +2 -0
  66. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +2 -0
  67. pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +2 -0
  68. pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
  69. pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +2 -0
  70. pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +2 -0
  71. pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +2 -0
  72. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
  73. pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
  74. pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +2 -0
  75. pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +2 -0
  76. pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +2 -0
  77. pulumi_gcp/bigtable/__init__.py +1 -0
  78. pulumi_gcp/bigtable/_inputs.py +33 -0
  79. pulumi_gcp/bigtable/outputs.py +36 -0
  80. pulumi_gcp/bigtable/schema_bundle.py +568 -0
  81. pulumi_gcp/binaryauthorization/attestor_iam_binding.py +2 -0
  82. pulumi_gcp/binaryauthorization/attestor_iam_member.py +2 -0
  83. pulumi_gcp/binaryauthorization/attestor_iam_policy.py +2 -0
  84. pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +2 -0
  85. pulumi_gcp/certificateauthority/ca_pool_iam_member.py +2 -0
  86. pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +2 -0
  87. pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +2 -0
  88. pulumi_gcp/certificateauthority/certificate_template_iam_member.py +2 -0
  89. pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +2 -0
  90. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +2 -0
  91. pulumi_gcp/cloudbuildv2/connection_iam_member.py +2 -0
  92. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +2 -0
  93. pulumi_gcp/clouddeploy/_inputs.py +48 -48
  94. pulumi_gcp/clouddeploy/deploy_policy.py +54 -74
  95. pulumi_gcp/clouddeploy/outputs.py +32 -32
  96. pulumi_gcp/cloudfunctions/_inputs.py +48 -0
  97. pulumi_gcp/cloudfunctions/function.py +94 -0
  98. pulumi_gcp/cloudfunctions/function_iam_binding.py +2 -0
  99. pulumi_gcp/cloudfunctions/function_iam_member.py +2 -0
  100. pulumi_gcp/cloudfunctions/function_iam_policy.py +2 -0
  101. pulumi_gcp/cloudfunctions/get_function.py +23 -1
  102. pulumi_gcp/cloudfunctions/outputs.py +70 -0
  103. pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +2 -0
  104. pulumi_gcp/cloudfunctionsv2/function_iam_member.py +2 -0
  105. pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +2 -0
  106. pulumi_gcp/cloudrun/iam_binding.py +2 -0
  107. pulumi_gcp/cloudrun/iam_member.py +2 -0
  108. pulumi_gcp/cloudrun/iam_policy.py +2 -0
  109. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  110. pulumi_gcp/cloudrunv2/job.py +2 -0
  111. pulumi_gcp/cloudrunv2/job_iam_binding.py +2 -0
  112. pulumi_gcp/cloudrunv2/job_iam_member.py +2 -0
  113. pulumi_gcp/cloudrunv2/job_iam_policy.py +2 -0
  114. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  115. pulumi_gcp/cloudrunv2/service_iam_binding.py +2 -0
  116. pulumi_gcp/cloudrunv2/service_iam_member.py +2 -0
  117. pulumi_gcp/cloudrunv2/service_iam_policy.py +2 -0
  118. pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
  119. pulumi_gcp/cloudrunv2/worker_pool_iam_binding.py +2 -0
  120. pulumi_gcp/cloudrunv2/worker_pool_iam_member.py +2 -0
  121. pulumi_gcp/cloudrunv2/worker_pool_iam_policy.py +2 -0
  122. pulumi_gcp/cloudtasks/queue_iam_binding.py +2 -0
  123. pulumi_gcp/cloudtasks/queue_iam_member.py +2 -0
  124. pulumi_gcp/cloudtasks/queue_iam_policy.py +2 -0
  125. pulumi_gcp/colab/runtime_template_iam_binding.py +2 -0
  126. pulumi_gcp/colab/runtime_template_iam_member.py +2 -0
  127. pulumi_gcp/colab/runtime_template_iam_policy.py +2 -0
  128. pulumi_gcp/composer/user_workloads_config_map.py +26 -2
  129. pulumi_gcp/compute/__init__.py +1 -0
  130. pulumi_gcp/compute/_inputs.py +1068 -22
  131. pulumi_gcp/compute/disk_iam_binding.py +2 -0
  132. pulumi_gcp/compute/disk_iam_member.py +2 -0
  133. pulumi_gcp/compute/disk_iam_policy.py +2 -0
  134. pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
  135. pulumi_gcp/compute/forwarding_rule.py +0 -21
  136. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  137. pulumi_gcp/compute/get_router.py +12 -1
  138. pulumi_gcp/compute/image_iam_binding.py +2 -0
  139. pulumi_gcp/compute/image_iam_member.py +2 -0
  140. pulumi_gcp/compute/image_iam_policy.py +2 -0
  141. pulumi_gcp/compute/instance_iam_binding.py +2 -0
  142. pulumi_gcp/compute/instance_iam_member.py +2 -0
  143. pulumi_gcp/compute/instance_iam_policy.py +2 -0
  144. pulumi_gcp/compute/instance_template_iam_binding.py +2 -0
  145. pulumi_gcp/compute/instance_template_iam_member.py +2 -0
  146. pulumi_gcp/compute/instance_template_iam_policy.py +2 -0
  147. pulumi_gcp/compute/instant_snapshot_iam_binding.py +2 -0
  148. pulumi_gcp/compute/instant_snapshot_iam_member.py +2 -0
  149. pulumi_gcp/compute/instant_snapshot_iam_policy.py +2 -0
  150. pulumi_gcp/compute/machine_image_iam_binding.py +2 -0
  151. pulumi_gcp/compute/machine_image_iam_member.py +2 -0
  152. pulumi_gcp/compute/machine_image_iam_policy.py +2 -0
  153. pulumi_gcp/compute/outputs.py +966 -22
  154. pulumi_gcp/compute/preview_feature.py +396 -0
  155. pulumi_gcp/compute/region_backend_service.py +257 -0
  156. pulumi_gcp/compute/region_disk_iam_binding.py +2 -0
  157. pulumi_gcp/compute/region_disk_iam_member.py +2 -0
  158. pulumi_gcp/compute/region_disk_iam_policy.py +2 -0
  159. pulumi_gcp/compute/region_security_policy.py +54 -0
  160. pulumi_gcp/compute/region_url_map.py +392 -0
  161. pulumi_gcp/compute/reservation.py +4 -4
  162. pulumi_gcp/compute/router.py +54 -0
  163. pulumi_gcp/compute/service_attachment.py +126 -0
  164. pulumi_gcp/compute/snapshot_iam_binding.py +2 -0
  165. pulumi_gcp/compute/snapshot_iam_member.py +2 -0
  166. pulumi_gcp/compute/snapshot_iam_policy.py +2 -0
  167. pulumi_gcp/compute/storage_pool.py +154 -0
  168. pulumi_gcp/compute/storage_pool_iam_binding.py +2 -0
  169. pulumi_gcp/compute/storage_pool_iam_member.py +2 -0
  170. pulumi_gcp/compute/storage_pool_iam_policy.py +2 -0
  171. pulumi_gcp/compute/subnetwork.py +54 -0
  172. pulumi_gcp/compute/subnetwork_iam_binding.py +2 -0
  173. pulumi_gcp/compute/subnetwork_iam_member.py +2 -0
  174. pulumi_gcp/compute/subnetwork_iam_policy.py +2 -0
  175. pulumi_gcp/config/__init__.pyi +2 -4
  176. pulumi_gcp/config/vars.py +4 -8
  177. pulumi_gcp/container/_inputs.py +2622 -246
  178. pulumi_gcp/container/cluster.py +61 -21
  179. pulumi_gcp/container/get_cluster.py +12 -1
  180. pulumi_gcp/container/outputs.py +2877 -133
  181. pulumi_gcp/containeranalysis/note_iam_binding.py +2 -0
  182. pulumi_gcp/containeranalysis/note_iam_member.py +2 -0
  183. pulumi_gcp/containeranalysis/note_iam_policy.py +2 -0
  184. pulumi_gcp/datacatalog/entry_group_iam_binding.py +2 -0
  185. pulumi_gcp/datacatalog/entry_group_iam_member.py +2 -0
  186. pulumi_gcp/datacatalog/entry_group_iam_policy.py +2 -0
  187. pulumi_gcp/datacatalog/policy_tag_iam_binding.py +2 -0
  188. pulumi_gcp/datacatalog/policy_tag_iam_member.py +2 -0
  189. pulumi_gcp/datacatalog/policy_tag_iam_policy.py +2 -0
  190. pulumi_gcp/datacatalog/tag_template_iam_binding.py +2 -0
  191. pulumi_gcp/datacatalog/tag_template_iam_member.py +2 -0
  192. pulumi_gcp/datacatalog/tag_template_iam_policy.py +2 -0
  193. pulumi_gcp/datacatalog/taxonomy_iam_binding.py +2 -0
  194. pulumi_gcp/datacatalog/taxonomy_iam_member.py +2 -0
  195. pulumi_gcp/datacatalog/taxonomy_iam_policy.py +2 -0
  196. pulumi_gcp/datafusion/instance.py +18 -4
  197. pulumi_gcp/dataplex/aspect_type_iam_binding.py +2 -0
  198. pulumi_gcp/dataplex/aspect_type_iam_member.py +2 -0
  199. pulumi_gcp/dataplex/aspect_type_iam_policy.py +2 -0
  200. pulumi_gcp/dataplex/asset_iam_binding.py +2 -0
  201. pulumi_gcp/dataplex/asset_iam_member.py +2 -0
  202. pulumi_gcp/dataplex/asset_iam_policy.py +2 -0
  203. pulumi_gcp/dataplex/datascan_iam_binding.py +2 -0
  204. pulumi_gcp/dataplex/datascan_iam_member.py +2 -0
  205. pulumi_gcp/dataplex/datascan_iam_policy.py +2 -0
  206. pulumi_gcp/dataplex/entry_group_iam_binding.py +2 -0
  207. pulumi_gcp/dataplex/entry_group_iam_member.py +2 -0
  208. pulumi_gcp/dataplex/entry_group_iam_policy.py +2 -0
  209. pulumi_gcp/dataplex/entry_type_iam_binding.py +2 -0
  210. pulumi_gcp/dataplex/entry_type_iam_member.py +2 -0
  211. pulumi_gcp/dataplex/entry_type_iam_policy.py +2 -0
  212. pulumi_gcp/dataplex/glossary_iam_binding.py +2 -0
  213. pulumi_gcp/dataplex/glossary_iam_member.py +2 -0
  214. pulumi_gcp/dataplex/glossary_iam_policy.py +2 -0
  215. pulumi_gcp/dataplex/lake_iam_binding.py +2 -0
  216. pulumi_gcp/dataplex/lake_iam_member.py +2 -0
  217. pulumi_gcp/dataplex/lake_iam_policy.py +2 -0
  218. pulumi_gcp/dataplex/task_iam_binding.py +2 -0
  219. pulumi_gcp/dataplex/task_iam_member.py +2 -0
  220. pulumi_gcp/dataplex/task_iam_policy.py +2 -0
  221. pulumi_gcp/dataplex/zone_iam_binding.py +2 -0
  222. pulumi_gcp/dataplex/zone_iam_member.py +2 -0
  223. pulumi_gcp/dataplex/zone_iam_policy.py +2 -0
  224. pulumi_gcp/dataproc/_inputs.py +249 -14
  225. pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +2 -0
  226. pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +2 -0
  227. pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +2 -0
  228. pulumi_gcp/dataproc/batch.py +6 -0
  229. pulumi_gcp/dataproc/cluster.py +2 -0
  230. pulumi_gcp/dataproc/metastore_database_iam_binding.py +2 -0
  231. pulumi_gcp/dataproc/metastore_database_iam_member.py +2 -0
  232. pulumi_gcp/dataproc/metastore_database_iam_policy.py +2 -0
  233. pulumi_gcp/dataproc/metastore_federation_iam_binding.py +2 -0
  234. pulumi_gcp/dataproc/metastore_federation_iam_member.py +2 -0
  235. pulumi_gcp/dataproc/metastore_federation_iam_policy.py +2 -0
  236. pulumi_gcp/dataproc/metastore_service_iam_binding.py +2 -0
  237. pulumi_gcp/dataproc/metastore_service_iam_member.py +2 -0
  238. pulumi_gcp/dataproc/metastore_service_iam_policy.py +2 -0
  239. pulumi_gcp/dataproc/metastore_table_iam_binding.py +2 -0
  240. pulumi_gcp/dataproc/metastore_table_iam_member.py +2 -0
  241. pulumi_gcp/dataproc/metastore_table_iam_policy.py +2 -0
  242. pulumi_gcp/dataproc/outputs.py +215 -12
  243. pulumi_gcp/dataproc/session_template.py +14 -2
  244. pulumi_gcp/developerconnect/__init__.py +1 -0
  245. pulumi_gcp/developerconnect/_inputs.py +583 -0
  246. pulumi_gcp/developerconnect/insights_config.py +895 -0
  247. pulumi_gcp/developerconnect/outputs.py +442 -0
  248. pulumi_gcp/diagflow/__init__.py +3 -0
  249. pulumi_gcp/diagflow/_inputs.py +11899 -7963
  250. pulumi_gcp/diagflow/conversation_profile.py +959 -0
  251. pulumi_gcp/diagflow/cx_generator.py +636 -0
  252. pulumi_gcp/diagflow/cx_playbook.py +967 -0
  253. pulumi_gcp/diagflow/cx_tool.py +2 -2
  254. pulumi_gcp/diagflow/cx_webhook.py +380 -36
  255. pulumi_gcp/diagflow/outputs.py +9099 -5946
  256. pulumi_gcp/discoveryengine/__init__.py +2 -0
  257. pulumi_gcp/discoveryengine/_inputs.py +465 -0
  258. pulumi_gcp/discoveryengine/cmek_config.py +707 -0
  259. pulumi_gcp/discoveryengine/outputs.py +412 -0
  260. pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
  261. pulumi_gcp/dns/dns_managed_zone_iam_binding.py +2 -0
  262. pulumi_gcp/dns/dns_managed_zone_iam_member.py +2 -0
  263. pulumi_gcp/dns/dns_managed_zone_iam_policy.py +2 -0
  264. pulumi_gcp/endpoints/service_iam_binding.py +2 -0
  265. pulumi_gcp/endpoints/service_iam_member.py +2 -0
  266. pulumi_gcp/endpoints/service_iam_policy.py +2 -0
  267. pulumi_gcp/firestore/field.py +6 -6
  268. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
  269. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
  270. pulumi_gcp/gemini/repository_group_iam_binding.py +2 -0
  271. pulumi_gcp/gemini/repository_group_iam_member.py +2 -0
  272. pulumi_gcp/gemini/repository_group_iam_policy.py +2 -0
  273. pulumi_gcp/gkebackup/backup_plan_iam_binding.py +2 -0
  274. pulumi_gcp/gkebackup/backup_plan_iam_member.py +2 -0
  275. pulumi_gcp/gkebackup/backup_plan_iam_policy.py +2 -0
  276. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +2 -0
  277. pulumi_gcp/gkebackup/restore_plan_iam_member.py +2 -0
  278. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +2 -0
  279. pulumi_gcp/gkehub/feature_iam_binding.py +2 -0
  280. pulumi_gcp/gkehub/feature_iam_member.py +2 -0
  281. pulumi_gcp/gkehub/feature_iam_policy.py +2 -0
  282. pulumi_gcp/gkehub/membership_binding.py +6 -6
  283. pulumi_gcp/gkehub/membership_iam_binding.py +2 -0
  284. pulumi_gcp/gkehub/membership_iam_member.py +2 -0
  285. pulumi_gcp/gkehub/membership_iam_policy.py +2 -0
  286. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  287. pulumi_gcp/gkehub/namespace.py +4 -4
  288. pulumi_gcp/gkehub/scope_iam_binding.py +2 -0
  289. pulumi_gcp/gkehub/scope_iam_member.py +2 -0
  290. pulumi_gcp/gkehub/scope_iam_policy.py +2 -0
  291. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  292. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +24 -3
  293. pulumi_gcp/healthcare/consent_store_iam_binding.py +2 -0
  294. pulumi_gcp/healthcare/consent_store_iam_member.py +2 -0
  295. pulumi_gcp/healthcare/consent_store_iam_policy.py +2 -0
  296. pulumi_gcp/iam/__init__.py +4 -0
  297. pulumi_gcp/iam/_inputs.py +98 -0
  298. pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
  299. pulumi_gcp/iam/outputs.py +56 -0
  300. pulumi_gcp/iam/workforce_pool_iam_binding.py +763 -0
  301. pulumi_gcp/iam/workforce_pool_iam_member.py +763 -0
  302. pulumi_gcp/iam/workforce_pool_iam_policy.py +602 -0
  303. pulumi_gcp/iap/app_engine_service_iam_binding.py +2 -0
  304. pulumi_gcp/iap/app_engine_service_iam_member.py +2 -0
  305. pulumi_gcp/iap/app_engine_service_iam_policy.py +2 -0
  306. pulumi_gcp/iap/app_engine_version_iam_binding.py +2 -0
  307. pulumi_gcp/iap/app_engine_version_iam_member.py +2 -0
  308. pulumi_gcp/iap/app_engine_version_iam_policy.py +2 -0
  309. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  310. pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +2 -0
  311. pulumi_gcp/iap/tunnel_dest_group_iam_member.py +2 -0
  312. pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +2 -0
  313. pulumi_gcp/iap/tunnel_iam_binding.py +2 -0
  314. pulumi_gcp/iap/tunnel_iam_member.py +2 -0
  315. pulumi_gcp/iap/tunnel_iam_policy.py +2 -0
  316. pulumi_gcp/iap/tunnel_instance_iam_binding.py +2 -0
  317. pulumi_gcp/iap/tunnel_instance_iam_member.py +2 -0
  318. pulumi_gcp/iap/tunnel_instance_iam_policy.py +2 -0
  319. pulumi_gcp/iap/web_backend_service_iam_binding.py +2 -0
  320. pulumi_gcp/iap/web_backend_service_iam_member.py +2 -0
  321. pulumi_gcp/iap/web_backend_service_iam_policy.py +2 -0
  322. pulumi_gcp/iap/web_cloud_run_service_iam_binding.py +2 -0
  323. pulumi_gcp/iap/web_cloud_run_service_iam_member.py +2 -0
  324. pulumi_gcp/iap/web_cloud_run_service_iam_policy.py +2 -0
  325. pulumi_gcp/iap/web_iam_binding.py +2 -0
  326. pulumi_gcp/iap/web_iam_member.py +2 -0
  327. pulumi_gcp/iap/web_iam_policy.py +2 -0
  328. pulumi_gcp/iap/web_region_backend_service_iam_binding.py +2 -0
  329. pulumi_gcp/iap/web_region_backend_service_iam_member.py +2 -0
  330. pulumi_gcp/iap/web_region_backend_service_iam_policy.py +2 -0
  331. pulumi_gcp/iap/web_type_app_enging_iam_binding.py +2 -0
  332. pulumi_gcp/iap/web_type_app_enging_iam_member.py +2 -0
  333. pulumi_gcp/iap/web_type_app_enging_iam_policy.py +2 -0
  334. pulumi_gcp/iap/web_type_compute_iam_binding.py +2 -0
  335. pulumi_gcp/iap/web_type_compute_iam_member.py +2 -0
  336. pulumi_gcp/iap/web_type_compute_iam_policy.py +2 -0
  337. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  338. pulumi_gcp/kms/crypto_key.py +7 -0
  339. pulumi_gcp/kms/ekm_connection_iam_binding.py +2 -0
  340. pulumi_gcp/kms/ekm_connection_iam_member.py +2 -0
  341. pulumi_gcp/kms/ekm_connection_iam_policy.py +2 -0
  342. pulumi_gcp/kms/outputs.py +2 -0
  343. pulumi_gcp/logging/log_view_iam_binding.py +2 -0
  344. pulumi_gcp/logging/log_view_iam_member.py +2 -0
  345. pulumi_gcp/logging/log_view_iam_policy.py +2 -0
  346. pulumi_gcp/looker/instance.py +28 -7
  347. pulumi_gcp/managedkafka/_inputs.py +127 -0
  348. pulumi_gcp/managedkafka/cluster.py +131 -1
  349. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  350. pulumi_gcp/managedkafka/connector.py +4 -4
  351. pulumi_gcp/managedkafka/outputs.py +128 -0
  352. pulumi_gcp/memorystore/get_instance.py +12 -1
  353. pulumi_gcp/memorystore/instance.py +78 -12
  354. pulumi_gcp/modelarmor/__init__.py +1 -0
  355. pulumi_gcp/modelarmor/_inputs.py +683 -0
  356. pulumi_gcp/modelarmor/floorsetting.py +736 -0
  357. pulumi_gcp/modelarmor/outputs.py +618 -0
  358. pulumi_gcp/monitoring/_inputs.py +3 -3
  359. pulumi_gcp/monitoring/outputs.py +2 -2
  360. pulumi_gcp/networkconnectivity/_inputs.py +60 -0
  361. pulumi_gcp/networkconnectivity/internal_range.py +136 -0
  362. pulumi_gcp/networkconnectivity/outputs.py +55 -0
  363. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  364. pulumi_gcp/networkmanagement/vpc_flow_logs_config.py +213 -168
  365. pulumi_gcp/notebooks/instance.py +18 -18
  366. pulumi_gcp/notebooks/instance_iam_binding.py +2 -0
  367. pulumi_gcp/notebooks/instance_iam_member.py +2 -0
  368. pulumi_gcp/notebooks/instance_iam_policy.py +2 -0
  369. pulumi_gcp/notebooks/runtime_iam_binding.py +2 -0
  370. pulumi_gcp/notebooks/runtime_iam_member.py +2 -0
  371. pulumi_gcp/notebooks/runtime_iam_policy.py +2 -0
  372. pulumi_gcp/oracledatabase/__init__.py +2 -0
  373. pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
  374. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
  375. pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
  376. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
  377. pulumi_gcp/oracledatabase/odb_network.py +721 -0
  378. pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
  379. pulumi_gcp/oracledatabase/outputs.py +83 -0
  380. pulumi_gcp/organizations/folder.py +56 -0
  381. pulumi_gcp/organizations/get_folder.py +29 -1
  382. pulumi_gcp/orgpolicy/policy.py +2 -2
  383. pulumi_gcp/parametermanager/parameter_version.py +62 -0
  384. pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
  385. pulumi_gcp/projects/api_key.py +88 -1
  386. pulumi_gcp/provider.py +20 -40
  387. pulumi_gcp/pubsub/schema_iam_binding.py +2 -0
  388. pulumi_gcp/pubsub/schema_iam_member.py +2 -0
  389. pulumi_gcp/pubsub/schema_iam_policy.py +2 -0
  390. pulumi_gcp/pubsub/subscription.py +130 -6
  391. pulumi_gcp/pubsub/topic.py +116 -0
  392. pulumi_gcp/pubsub/topic_iam_binding.py +2 -0
  393. pulumi_gcp/pubsub/topic_iam_member.py +2 -0
  394. pulumi_gcp/pubsub/topic_iam_policy.py +2 -0
  395. pulumi_gcp/pulumi-plugin.json +1 -1
  396. pulumi_gcp/redis/cluster.py +70 -0
  397. pulumi_gcp/redis/get_cluster.py +12 -1
  398. pulumi_gcp/redis/instance.py +8 -12
  399. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  400. pulumi_gcp/secretmanager/get_secret.py +12 -1
  401. pulumi_gcp/secretmanager/outputs.py +30 -0
  402. pulumi_gcp/secretmanager/regional_secret.py +61 -0
  403. pulumi_gcp/secretmanager/regional_secret_iam_binding.py +2 -0
  404. pulumi_gcp/secretmanager/regional_secret_iam_member.py +2 -0
  405. pulumi_gcp/secretmanager/regional_secret_iam_policy.py +2 -0
  406. pulumi_gcp/secretmanager/secret.py +61 -0
  407. pulumi_gcp/secretmanager/secret_iam_binding.py +2 -0
  408. pulumi_gcp/secretmanager/secret_iam_member.py +2 -0
  409. pulumi_gcp/secretmanager/secret_iam_policy.py +2 -0
  410. pulumi_gcp/secretmanager/secret_version.py +1 -48
  411. pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
  412. pulumi_gcp/securesourcemanager/instance.py +112 -4
  413. pulumi_gcp/securesourcemanager/repository.py +112 -8
  414. pulumi_gcp/securesourcemanager/repository_iam_binding.py +2 -0
  415. pulumi_gcp/securesourcemanager/repository_iam_member.py +2 -0
  416. pulumi_gcp/securesourcemanager/repository_iam_policy.py +2 -0
  417. pulumi_gcp/securitycenter/instance_iam_binding.py +18 -4
  418. pulumi_gcp/securitycenter/instance_iam_member.py +18 -4
  419. pulumi_gcp/securitycenter/instance_iam_policy.py +18 -4
  420. pulumi_gcp/securitycenter/v2_organization_source_iam_binding.py +2 -0
  421. pulumi_gcp/securitycenter/v2_organization_source_iam_member.py +2 -0
  422. pulumi_gcp/securitycenter/v2_organization_source_iam_policy.py +2 -0
  423. pulumi_gcp/serviceaccount/get_account_key.py +1 -0
  424. pulumi_gcp/servicedirectory/namespace_iam_binding.py +2 -0
  425. pulumi_gcp/servicedirectory/namespace_iam_member.py +2 -0
  426. pulumi_gcp/servicedirectory/namespace_iam_policy.py +2 -0
  427. pulumi_gcp/servicedirectory/service_iam_binding.py +2 -0
  428. pulumi_gcp/servicedirectory/service_iam_member.py +2 -0
  429. pulumi_gcp/servicedirectory/service_iam_policy.py +2 -0
  430. pulumi_gcp/sourcerepo/repository_iam_binding.py +2 -0
  431. pulumi_gcp/sourcerepo/repository_iam_member.py +2 -0
  432. pulumi_gcp/sourcerepo/repository_iam_policy.py +2 -0
  433. pulumi_gcp/sql/_inputs.py +88 -10
  434. pulumi_gcp/sql/database.py +0 -12
  435. pulumi_gcp/sql/database_instance.py +108 -7
  436. pulumi_gcp/sql/get_database_instance.py +12 -1
  437. pulumi_gcp/sql/outputs.py +158 -11
  438. pulumi_gcp/storage/__init__.py +2 -0
  439. pulumi_gcp/storage/_inputs.py +555 -12
  440. pulumi_gcp/storage/bucket.py +7 -7
  441. pulumi_gcp/storage/bucket_object.py +34 -0
  442. pulumi_gcp/storage/get_bucket_object.py +12 -1
  443. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  444. pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
  445. pulumi_gcp/storage/insights_dataset_config.py +1280 -0
  446. pulumi_gcp/storage/outputs.py +703 -7
  447. pulumi_gcp/tags/tag_key_iam_binding.py +2 -0
  448. pulumi_gcp/tags/tag_key_iam_member.py +2 -0
  449. pulumi_gcp/tags/tag_key_iam_policy.py +2 -0
  450. pulumi_gcp/tags/tag_value_iam_binding.py +2 -0
  451. pulumi_gcp/tags/tag_value_iam_member.py +2 -0
  452. pulumi_gcp/tags/tag_value_iam_policy.py +2 -0
  453. pulumi_gcp/tpu/get_tensorflow_versions.py +10 -0
  454. pulumi_gcp/vertex/__init__.py +2 -0
  455. pulumi_gcp/vertex/_inputs.py +3768 -3
  456. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  457. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
  458. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  459. pulumi_gcp/vertex/ai_index.py +21 -7
  460. pulumi_gcp/vertex/ai_rag_engine_config.py +354 -0
  461. pulumi_gcp/vertex/outputs.py +2678 -2
  462. pulumi_gcp/vmwareengine/network_peering.py +7 -7
  463. pulumi_gcp/workbench/_inputs.py +118 -0
  464. pulumi_gcp/workbench/instance.py +171 -2
  465. pulumi_gcp/workbench/outputs.py +91 -0
  466. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0.dist-info}/METADATA +1 -1
  467. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0.dist-info}/RECORD +469 -442
  468. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0.dist-info}/WHEEL +0 -0
  469. {pulumi_gcp-8.40.0a1754721948.dist-info → pulumi_gcp-8.41.0.dist-info}/top_level.txt +0 -0
@@ -24,7 +24,8 @@ class ApiKeyArgs:
24
24
  display_name: Optional[pulumi.Input[_builtins.str]] = None,
25
25
  name: Optional[pulumi.Input[_builtins.str]] = None,
26
26
  project: Optional[pulumi.Input[_builtins.str]] = None,
27
- restrictions: Optional[pulumi.Input['ApiKeyRestrictionsArgs']] = None):
27
+ restrictions: Optional[pulumi.Input['ApiKeyRestrictionsArgs']] = None,
28
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None):
28
29
  """
29
30
  The set of arguments for constructing a ApiKey resource.
30
31
  :param pulumi.Input[_builtins.str] display_name: Human-readable display name of this API key. Modifiable by user.
@@ -35,6 +36,7 @@ class ApiKeyArgs:
35
36
  - - -
36
37
  :param pulumi.Input[_builtins.str] project: The project for the resource
37
38
  :param pulumi.Input['ApiKeyRestrictionsArgs'] restrictions: Key restrictions.
39
+ :param pulumi.Input[_builtins.str] service_account_email: The email of the service account the key is bound to. If this field is specified, the key is a service account bound key and auth enabled. See [Documentation](https://cloud.devsite.corp.google.com/docs/authentication/api-keys?#api-keys-bound-sa) for more details.
38
40
  """
39
41
  if display_name is not None:
40
42
  pulumi.set(__self__, "display_name", display_name)
@@ -44,6 +46,8 @@ class ApiKeyArgs:
44
46
  pulumi.set(__self__, "project", project)
45
47
  if restrictions is not None:
46
48
  pulumi.set(__self__, "restrictions", restrictions)
49
+ if service_account_email is not None:
50
+ pulumi.set(__self__, "service_account_email", service_account_email)
47
51
 
48
52
  @_builtins.property
49
53
  @pulumi.getter(name="displayName")
@@ -97,6 +101,18 @@ class ApiKeyArgs:
97
101
  def restrictions(self, value: Optional[pulumi.Input['ApiKeyRestrictionsArgs']]):
98
102
  pulumi.set(self, "restrictions", value)
99
103
 
104
+ @_builtins.property
105
+ @pulumi.getter(name="serviceAccountEmail")
106
+ def service_account_email(self) -> Optional[pulumi.Input[_builtins.str]]:
107
+ """
108
+ The email of the service account the key is bound to. If this field is specified, the key is a service account bound key and auth enabled. See [Documentation](https://cloud.devsite.corp.google.com/docs/authentication/api-keys?#api-keys-bound-sa) for more details.
109
+ """
110
+ return pulumi.get(self, "service_account_email")
111
+
112
+ @service_account_email.setter
113
+ def service_account_email(self, value: Optional[pulumi.Input[_builtins.str]]):
114
+ pulumi.set(self, "service_account_email", value)
115
+
100
116
 
101
117
  @pulumi.input_type
102
118
  class _ApiKeyState:
@@ -106,6 +122,7 @@ class _ApiKeyState:
106
122
  name: Optional[pulumi.Input[_builtins.str]] = None,
107
123
  project: Optional[pulumi.Input[_builtins.str]] = None,
108
124
  restrictions: Optional[pulumi.Input['ApiKeyRestrictionsArgs']] = None,
125
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
109
126
  uid: Optional[pulumi.Input[_builtins.str]] = None):
110
127
  """
111
128
  Input properties used for looking up and filtering ApiKey resources.
@@ -118,6 +135,7 @@ class _ApiKeyState:
118
135
  - - -
119
136
  :param pulumi.Input[_builtins.str] project: The project for the resource
120
137
  :param pulumi.Input['ApiKeyRestrictionsArgs'] restrictions: Key restrictions.
138
+ :param pulumi.Input[_builtins.str] service_account_email: The email of the service account the key is bound to. If this field is specified, the key is a service account bound key and auth enabled. See [Documentation](https://cloud.devsite.corp.google.com/docs/authentication/api-keys?#api-keys-bound-sa) for more details.
121
139
  :param pulumi.Input[_builtins.str] uid: Output only. Unique id in UUID4 format.
122
140
  """
123
141
  if display_name is not None:
@@ -130,6 +148,8 @@ class _ApiKeyState:
130
148
  pulumi.set(__self__, "project", project)
131
149
  if restrictions is not None:
132
150
  pulumi.set(__self__, "restrictions", restrictions)
151
+ if service_account_email is not None:
152
+ pulumi.set(__self__, "service_account_email", service_account_email)
133
153
  if uid is not None:
134
154
  pulumi.set(__self__, "uid", uid)
135
155
 
@@ -197,6 +217,18 @@ class _ApiKeyState:
197
217
  def restrictions(self, value: Optional[pulumi.Input['ApiKeyRestrictionsArgs']]):
198
218
  pulumi.set(self, "restrictions", value)
199
219
 
220
+ @_builtins.property
221
+ @pulumi.getter(name="serviceAccountEmail")
222
+ def service_account_email(self) -> Optional[pulumi.Input[_builtins.str]]:
223
+ """
224
+ The email of the service account the key is bound to. If this field is specified, the key is a service account bound key and auth enabled. See [Documentation](https://cloud.devsite.corp.google.com/docs/authentication/api-keys?#api-keys-bound-sa) for more details.
225
+ """
226
+ return pulumi.get(self, "service_account_email")
227
+
228
+ @service_account_email.setter
229
+ def service_account_email(self, value: Optional[pulumi.Input[_builtins.str]]):
230
+ pulumi.set(self, "service_account_email", value)
231
+
200
232
  @_builtins.property
201
233
  @pulumi.getter
202
234
  def uid(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -220,6 +252,7 @@ class ApiKey(pulumi.CustomResource):
220
252
  name: Optional[pulumi.Input[_builtins.str]] = None,
221
253
  project: Optional[pulumi.Input[_builtins.str]] = None,
222
254
  restrictions: Optional[pulumi.Input[Union['ApiKeyRestrictionsArgs', 'ApiKeyRestrictionsArgsDict']]] = None,
255
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
223
256
  __props__=None):
224
257
  """
225
258
  The Apikeys Key resource
@@ -315,6 +348,26 @@ class ApiKey(pulumi.CustomResource):
315
348
  },
316
349
  })
317
350
  ```
351
+ ### Service_account_key
352
+ ```python
353
+ import pulumi
354
+ import pulumi_gcp as gcp
355
+
356
+ project = gcp.organizations.Project("project",
357
+ project_id="app",
358
+ name="app",
359
+ org_id="123456789",
360
+ deletion_policy="DELETE")
361
+ key_service_account = gcp.serviceaccount.Account("key_service_account",
362
+ account_id="app",
363
+ project=project.project_id,
364
+ display_name="Test Service Account")
365
+ primary = gcp.projects.ApiKey("primary",
366
+ name="key",
367
+ display_name="sample-key",
368
+ project=project.project_id,
369
+ service_account_email=key_service_account.email)
370
+ ```
318
371
 
319
372
  ## Import
320
373
 
@@ -350,6 +403,7 @@ class ApiKey(pulumi.CustomResource):
350
403
  - - -
351
404
  :param pulumi.Input[_builtins.str] project: The project for the resource
352
405
  :param pulumi.Input[Union['ApiKeyRestrictionsArgs', 'ApiKeyRestrictionsArgsDict']] restrictions: Key restrictions.
406
+ :param pulumi.Input[_builtins.str] service_account_email: The email of the service account the key is bound to. If this field is specified, the key is a service account bound key and auth enabled. See [Documentation](https://cloud.devsite.corp.google.com/docs/authentication/api-keys?#api-keys-bound-sa) for more details.
353
407
  """
354
408
  ...
355
409
  @overload
@@ -451,6 +505,26 @@ class ApiKey(pulumi.CustomResource):
451
505
  },
452
506
  })
453
507
  ```
508
+ ### Service_account_key
509
+ ```python
510
+ import pulumi
511
+ import pulumi_gcp as gcp
512
+
513
+ project = gcp.organizations.Project("project",
514
+ project_id="app",
515
+ name="app",
516
+ org_id="123456789",
517
+ deletion_policy="DELETE")
518
+ key_service_account = gcp.serviceaccount.Account("key_service_account",
519
+ account_id="app",
520
+ project=project.project_id,
521
+ display_name="Test Service Account")
522
+ primary = gcp.projects.ApiKey("primary",
523
+ name="key",
524
+ display_name="sample-key",
525
+ project=project.project_id,
526
+ service_account_email=key_service_account.email)
527
+ ```
454
528
 
455
529
  ## Import
456
530
 
@@ -495,6 +569,7 @@ class ApiKey(pulumi.CustomResource):
495
569
  name: Optional[pulumi.Input[_builtins.str]] = None,
496
570
  project: Optional[pulumi.Input[_builtins.str]] = None,
497
571
  restrictions: Optional[pulumi.Input[Union['ApiKeyRestrictionsArgs', 'ApiKeyRestrictionsArgsDict']]] = None,
572
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
498
573
  __props__=None):
499
574
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
500
575
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -508,6 +583,7 @@ class ApiKey(pulumi.CustomResource):
508
583
  __props__.__dict__["name"] = name
509
584
  __props__.__dict__["project"] = project
510
585
  __props__.__dict__["restrictions"] = restrictions
586
+ __props__.__dict__["service_account_email"] = service_account_email
511
587
  __props__.__dict__["key_string"] = None
512
588
  __props__.__dict__["uid"] = None
513
589
  secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["keyString"])
@@ -527,6 +603,7 @@ class ApiKey(pulumi.CustomResource):
527
603
  name: Optional[pulumi.Input[_builtins.str]] = None,
528
604
  project: Optional[pulumi.Input[_builtins.str]] = None,
529
605
  restrictions: Optional[pulumi.Input[Union['ApiKeyRestrictionsArgs', 'ApiKeyRestrictionsArgsDict']]] = None,
606
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
530
607
  uid: Optional[pulumi.Input[_builtins.str]] = None) -> 'ApiKey':
531
608
  """
532
609
  Get an existing ApiKey resource's state with the given name, id, and optional extra
@@ -544,6 +621,7 @@ class ApiKey(pulumi.CustomResource):
544
621
  - - -
545
622
  :param pulumi.Input[_builtins.str] project: The project for the resource
546
623
  :param pulumi.Input[Union['ApiKeyRestrictionsArgs', 'ApiKeyRestrictionsArgsDict']] restrictions: Key restrictions.
624
+ :param pulumi.Input[_builtins.str] service_account_email: The email of the service account the key is bound to. If this field is specified, the key is a service account bound key and auth enabled. See [Documentation](https://cloud.devsite.corp.google.com/docs/authentication/api-keys?#api-keys-bound-sa) for more details.
547
625
  :param pulumi.Input[_builtins.str] uid: Output only. Unique id in UUID4 format.
548
626
  """
549
627
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
@@ -555,6 +633,7 @@ class ApiKey(pulumi.CustomResource):
555
633
  __props__.__dict__["name"] = name
556
634
  __props__.__dict__["project"] = project
557
635
  __props__.__dict__["restrictions"] = restrictions
636
+ __props__.__dict__["service_account_email"] = service_account_email
558
637
  __props__.__dict__["uid"] = uid
559
638
  return ApiKey(resource_name, opts=opts, __props__=__props__)
560
639
 
@@ -602,6 +681,14 @@ class ApiKey(pulumi.CustomResource):
602
681
  """
603
682
  return pulumi.get(self, "restrictions")
604
683
 
684
+ @_builtins.property
685
+ @pulumi.getter(name="serviceAccountEmail")
686
+ def service_account_email(self) -> pulumi.Output[Optional[_builtins.str]]:
687
+ """
688
+ The email of the service account the key is bound to. If this field is specified, the key is a service account bound key and auth enabled. See [Documentation](https://cloud.devsite.corp.google.com/docs/authentication/api-keys?#api-keys-bound-sa) for more details.
689
+ """
690
+ return pulumi.get(self, "service_account_email")
691
+
605
692
  @_builtins.property
606
693
  @pulumi.getter
607
694
  def uid(self) -> pulumi.Output[_builtins.str]:
pulumi_gcp/provider.py CHANGED
@@ -54,7 +54,6 @@ class ProviderArgs:
54
54
  cloud_asset_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
55
55
  cloud_billing_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
56
56
  cloud_build_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
57
- cloud_build_worker_pool_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
58
57
  cloud_functions_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
59
58
  cloud_identity_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
60
59
  cloud_ids_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -121,7 +120,6 @@ class ProviderArgs:
121
120
  gke_backup_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
122
121
  gke_hub2_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
123
122
  gke_hub_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
124
- gkehub_feature_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
125
123
  gkeonprem_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
126
124
  google_partner_name: Optional[pulumi.Input[_builtins.str]] = None,
127
125
  healthcare_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -147,6 +145,7 @@ class ProviderArgs:
147
145
  migration_center_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
148
146
  ml_engine_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
149
147
  model_armor_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
148
+ model_armor_global_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
150
149
  monitoring_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
151
150
  netapp_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
152
151
  network_connectivity_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -286,8 +285,6 @@ class ProviderArgs:
286
285
  pulumi.set(__self__, "cloud_billing_custom_endpoint", cloud_billing_custom_endpoint)
287
286
  if cloud_build_custom_endpoint is not None:
288
287
  pulumi.set(__self__, "cloud_build_custom_endpoint", cloud_build_custom_endpoint)
289
- if cloud_build_worker_pool_custom_endpoint is not None:
290
- pulumi.set(__self__, "cloud_build_worker_pool_custom_endpoint", cloud_build_worker_pool_custom_endpoint)
291
288
  if cloud_functions_custom_endpoint is not None:
292
289
  pulumi.set(__self__, "cloud_functions_custom_endpoint", cloud_functions_custom_endpoint)
293
290
  if cloud_identity_custom_endpoint is not None:
@@ -420,8 +417,6 @@ class ProviderArgs:
420
417
  pulumi.set(__self__, "gke_hub2_custom_endpoint", gke_hub2_custom_endpoint)
421
418
  if gke_hub_custom_endpoint is not None:
422
419
  pulumi.set(__self__, "gke_hub_custom_endpoint", gke_hub_custom_endpoint)
423
- if gkehub_feature_custom_endpoint is not None:
424
- pulumi.set(__self__, "gkehub_feature_custom_endpoint", gkehub_feature_custom_endpoint)
425
420
  if gkeonprem_custom_endpoint is not None:
426
421
  pulumi.set(__self__, "gkeonprem_custom_endpoint", gkeonprem_custom_endpoint)
427
422
  if google_partner_name is not None:
@@ -472,6 +467,8 @@ class ProviderArgs:
472
467
  pulumi.set(__self__, "ml_engine_custom_endpoint", ml_engine_custom_endpoint)
473
468
  if model_armor_custom_endpoint is not None:
474
469
  pulumi.set(__self__, "model_armor_custom_endpoint", model_armor_custom_endpoint)
470
+ if model_armor_global_custom_endpoint is not None:
471
+ pulumi.set(__self__, "model_armor_global_custom_endpoint", model_armor_global_custom_endpoint)
475
472
  if monitoring_custom_endpoint is not None:
476
473
  pulumi.set(__self__, "monitoring_custom_endpoint", monitoring_custom_endpoint)
477
474
  if netapp_custom_endpoint is not None:
@@ -921,15 +918,6 @@ class ProviderArgs:
921
918
  def cloud_build_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
922
919
  pulumi.set(self, "cloud_build_custom_endpoint", value)
923
920
 
924
- @_builtins.property
925
- @pulumi.getter(name="cloudBuildWorkerPoolCustomEndpoint")
926
- def cloud_build_worker_pool_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
927
- return pulumi.get(self, "cloud_build_worker_pool_custom_endpoint")
928
-
929
- @cloud_build_worker_pool_custom_endpoint.setter
930
- def cloud_build_worker_pool_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
931
- pulumi.set(self, "cloud_build_worker_pool_custom_endpoint", value)
932
-
933
921
  @_builtins.property
934
922
  @pulumi.getter(name="cloudFunctionsCustomEndpoint")
935
923
  def cloud_functions_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -1524,15 +1512,6 @@ class ProviderArgs:
1524
1512
  def gke_hub_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
1525
1513
  pulumi.set(self, "gke_hub_custom_endpoint", value)
1526
1514
 
1527
- @_builtins.property
1528
- @pulumi.getter(name="gkehubFeatureCustomEndpoint")
1529
- def gkehub_feature_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
1530
- return pulumi.get(self, "gkehub_feature_custom_endpoint")
1531
-
1532
- @gkehub_feature_custom_endpoint.setter
1533
- def gkehub_feature_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
1534
- pulumi.set(self, "gkehub_feature_custom_endpoint", value)
1535
-
1536
1515
  @_builtins.property
1537
1516
  @pulumi.getter(name="gkeonpremCustomEndpoint")
1538
1517
  def gkeonprem_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -1758,6 +1737,15 @@ class ProviderArgs:
1758
1737
  def model_armor_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
1759
1738
  pulumi.set(self, "model_armor_custom_endpoint", value)
1760
1739
 
1740
+ @_builtins.property
1741
+ @pulumi.getter(name="modelArmorGlobalCustomEndpoint")
1742
+ def model_armor_global_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
1743
+ return pulumi.get(self, "model_armor_global_custom_endpoint")
1744
+
1745
+ @model_armor_global_custom_endpoint.setter
1746
+ def model_armor_global_custom_endpoint(self, value: Optional[pulumi.Input[_builtins.str]]):
1747
+ pulumi.set(self, "model_armor_global_custom_endpoint", value)
1748
+
1761
1749
  @_builtins.property
1762
1750
  @pulumi.getter(name="monitoringCustomEndpoint")
1763
1751
  def monitoring_custom_endpoint(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -2411,7 +2399,6 @@ class Provider(pulumi.ProviderResource):
2411
2399
  cloud_asset_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2412
2400
  cloud_billing_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2413
2401
  cloud_build_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2414
- cloud_build_worker_pool_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2415
2402
  cloud_functions_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2416
2403
  cloud_identity_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2417
2404
  cloud_ids_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -2478,7 +2465,6 @@ class Provider(pulumi.ProviderResource):
2478
2465
  gke_backup_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2479
2466
  gke_hub2_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2480
2467
  gke_hub_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2481
- gkehub_feature_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2482
2468
  gkeonprem_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2483
2469
  google_partner_name: Optional[pulumi.Input[_builtins.str]] = None,
2484
2470
  healthcare_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -2504,6 +2490,7 @@ class Provider(pulumi.ProviderResource):
2504
2490
  migration_center_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2505
2491
  ml_engine_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2506
2492
  model_armor_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2493
+ model_armor_global_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2507
2494
  monitoring_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2508
2495
  netapp_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2509
2496
  network_connectivity_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -2643,7 +2630,6 @@ class Provider(pulumi.ProviderResource):
2643
2630
  cloud_asset_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2644
2631
  cloud_billing_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2645
2632
  cloud_build_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2646
- cloud_build_worker_pool_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2647
2633
  cloud_functions_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2648
2634
  cloud_identity_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2649
2635
  cloud_ids_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -2710,7 +2696,6 @@ class Provider(pulumi.ProviderResource):
2710
2696
  gke_backup_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2711
2697
  gke_hub2_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2712
2698
  gke_hub_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2713
- gkehub_feature_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2714
2699
  gkeonprem_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2715
2700
  google_partner_name: Optional[pulumi.Input[_builtins.str]] = None,
2716
2701
  healthcare_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -2736,6 +2721,7 @@ class Provider(pulumi.ProviderResource):
2736
2721
  migration_center_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2737
2722
  ml_engine_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2738
2723
  model_armor_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2724
+ model_armor_global_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2739
2725
  monitoring_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2740
2726
  netapp_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
2741
2727
  network_connectivity_custom_endpoint: Optional[pulumi.Input[_builtins.str]] = None,
@@ -2847,7 +2833,6 @@ class Provider(pulumi.ProviderResource):
2847
2833
  __props__.__dict__["cloud_asset_custom_endpoint"] = cloud_asset_custom_endpoint
2848
2834
  __props__.__dict__["cloud_billing_custom_endpoint"] = cloud_billing_custom_endpoint
2849
2835
  __props__.__dict__["cloud_build_custom_endpoint"] = cloud_build_custom_endpoint
2850
- __props__.__dict__["cloud_build_worker_pool_custom_endpoint"] = cloud_build_worker_pool_custom_endpoint
2851
2836
  __props__.__dict__["cloud_functions_custom_endpoint"] = cloud_functions_custom_endpoint
2852
2837
  __props__.__dict__["cloud_identity_custom_endpoint"] = cloud_identity_custom_endpoint
2853
2838
  __props__.__dict__["cloud_ids_custom_endpoint"] = cloud_ids_custom_endpoint
@@ -2914,7 +2899,6 @@ class Provider(pulumi.ProviderResource):
2914
2899
  __props__.__dict__["gke_backup_custom_endpoint"] = gke_backup_custom_endpoint
2915
2900
  __props__.__dict__["gke_hub2_custom_endpoint"] = gke_hub2_custom_endpoint
2916
2901
  __props__.__dict__["gke_hub_custom_endpoint"] = gke_hub_custom_endpoint
2917
- __props__.__dict__["gkehub_feature_custom_endpoint"] = gkehub_feature_custom_endpoint
2918
2902
  __props__.__dict__["gkeonprem_custom_endpoint"] = gkeonprem_custom_endpoint
2919
2903
  __props__.__dict__["google_partner_name"] = google_partner_name
2920
2904
  __props__.__dict__["healthcare_custom_endpoint"] = healthcare_custom_endpoint
@@ -2940,6 +2924,7 @@ class Provider(pulumi.ProviderResource):
2940
2924
  __props__.__dict__["migration_center_custom_endpoint"] = migration_center_custom_endpoint
2941
2925
  __props__.__dict__["ml_engine_custom_endpoint"] = ml_engine_custom_endpoint
2942
2926
  __props__.__dict__["model_armor_custom_endpoint"] = model_armor_custom_endpoint
2927
+ __props__.__dict__["model_armor_global_custom_endpoint"] = model_armor_global_custom_endpoint
2943
2928
  __props__.__dict__["monitoring_custom_endpoint"] = monitoring_custom_endpoint
2944
2929
  __props__.__dict__["netapp_custom_endpoint"] = netapp_custom_endpoint
2945
2930
  __props__.__dict__["network_connectivity_custom_endpoint"] = network_connectivity_custom_endpoint
@@ -3182,11 +3167,6 @@ class Provider(pulumi.ProviderResource):
3182
3167
  def cloud_build_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
3183
3168
  return pulumi.get(self, "cloud_build_custom_endpoint")
3184
3169
 
3185
- @_builtins.property
3186
- @pulumi.getter(name="cloudBuildWorkerPoolCustomEndpoint")
3187
- def cloud_build_worker_pool_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
3188
- return pulumi.get(self, "cloud_build_worker_pool_custom_endpoint")
3189
-
3190
3170
  @_builtins.property
3191
3171
  @pulumi.getter(name="cloudFunctionsCustomEndpoint")
3192
3172
  def cloud_functions_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -3502,11 +3482,6 @@ class Provider(pulumi.ProviderResource):
3502
3482
  def gke_hub_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
3503
3483
  return pulumi.get(self, "gke_hub_custom_endpoint")
3504
3484
 
3505
- @_builtins.property
3506
- @pulumi.getter(name="gkehubFeatureCustomEndpoint")
3507
- def gkehub_feature_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
3508
- return pulumi.get(self, "gkehub_feature_custom_endpoint")
3509
-
3510
3485
  @_builtins.property
3511
3486
  @pulumi.getter(name="gkeonpremCustomEndpoint")
3512
3487
  def gkeonprem_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -3627,6 +3602,11 @@ class Provider(pulumi.ProviderResource):
3627
3602
  def model_armor_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
3628
3603
  return pulumi.get(self, "model_armor_custom_endpoint")
3629
3604
 
3605
+ @_builtins.property
3606
+ @pulumi.getter(name="modelArmorGlobalCustomEndpoint")
3607
+ def model_armor_global_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
3608
+ return pulumi.get(self, "model_armor_global_custom_endpoint")
3609
+
3630
3610
  @_builtins.property
3631
3611
  @pulumi.getter(name="monitoringCustomEndpoint")
3632
3612
  def monitoring_custom_endpoint(self) -> pulumi.Output[Optional[_builtins.str]]:
@@ -325,6 +325,7 @@ class SchemaIamBinding(pulumi.CustomResource):
325
325
  -
326
326
 
327
327
  # IAM policy for Cloud Pub/Sub Schema
328
+
328
329
  Three different resources help you manage your IAM policy for Cloud Pub/Sub Schema. Each of these resources serves a different use case:
329
330
 
330
331
  * `pubsub.SchemaIamPolicy`: Authoritative. Sets the IAM policy for the schema and replaces any existing policy already attached.
@@ -505,6 +506,7 @@ class SchemaIamBinding(pulumi.CustomResource):
505
506
  -
506
507
 
507
508
  # IAM policy for Cloud Pub/Sub Schema
509
+
508
510
  Three different resources help you manage your IAM policy for Cloud Pub/Sub Schema. Each of these resources serves a different use case:
509
511
 
510
512
  * `pubsub.SchemaIamPolicy`: Authoritative. Sets the IAM policy for the schema and replaces any existing policy already attached.
@@ -325,6 +325,7 @@ class SchemaIamMember(pulumi.CustomResource):
325
325
  -
326
326
 
327
327
  # IAM policy for Cloud Pub/Sub Schema
328
+
328
329
  Three different resources help you manage your IAM policy for Cloud Pub/Sub Schema. Each of these resources serves a different use case:
329
330
 
330
331
  * `pubsub.SchemaIamPolicy`: Authoritative. Sets the IAM policy for the schema and replaces any existing policy already attached.
@@ -505,6 +506,7 @@ class SchemaIamMember(pulumi.CustomResource):
505
506
  -
506
507
 
507
508
  # IAM policy for Cloud Pub/Sub Schema
509
+
508
510
  Three different resources help you manage your IAM policy for Cloud Pub/Sub Schema. Each of these resources serves a different use case:
509
511
 
510
512
  * `pubsub.SchemaIamPolicy`: Authoritative. Sets the IAM policy for the schema and replaces any existing policy already attached.
@@ -222,6 +222,7 @@ class SchemaIamPolicy(pulumi.CustomResource):
222
222
  -
223
223
 
224
224
  # IAM policy for Cloud Pub/Sub Schema
225
+
225
226
  Three different resources help you manage your IAM policy for Cloud Pub/Sub Schema. Each of these resources serves a different use case:
226
227
 
227
228
  * `pubsub.SchemaIamPolicy`: Authoritative. Sets the IAM policy for the schema and replaces any existing policy already attached.
@@ -390,6 +391,7 @@ class SchemaIamPolicy(pulumi.CustomResource):
390
391
  -
391
392
 
392
393
  # IAM policy for Cloud Pub/Sub Schema
394
+
393
395
  Three different resources help you manage your IAM policy for Cloud Pub/Sub Schema. Each of these resources serves a different use case:
394
396
 
395
397
  * `pubsub.SchemaIamPolicy`: Authoritative. Sets the IAM policy for the schema and replaces any existing policy already attached.
@@ -1143,7 +1143,7 @@ class Subscription(pulumi.CustomResource):
1143
1143
  cloud_storage_config={
1144
1144
  "bucket": example.name,
1145
1145
  "filename_prefix": "pre-",
1146
- "filename_suffix": "-_26032",
1146
+ "filename_suffix": "-_50610",
1147
1147
  "filename_datetime_format": "YYYY-MM-DD/hh_mm_ssZ",
1148
1148
  "max_bytes": 1000,
1149
1149
  "max_duration": "300s",
@@ -1176,7 +1176,7 @@ class Subscription(pulumi.CustomResource):
1176
1176
  cloud_storage_config={
1177
1177
  "bucket": example.name,
1178
1178
  "filename_prefix": "pre-",
1179
- "filename_suffix": "-_8647",
1179
+ "filename_suffix": "-_77124",
1180
1180
  "filename_datetime_format": "YYYY-MM-DD/hh_mm_ssZ",
1181
1181
  "max_bytes": 1000,
1182
1182
  "max_duration": "300s",
@@ -1215,7 +1215,7 @@ class Subscription(pulumi.CustomResource):
1215
1215
  cloud_storage_config={
1216
1216
  "bucket": example.name,
1217
1217
  "filename_prefix": "pre-",
1218
- "filename_suffix": "-_50610",
1218
+ "filename_suffix": "-_15335",
1219
1219
  "filename_datetime_format": "YYYY-MM-DD/hh_mm_ssZ",
1220
1220
  "max_bytes": 1000,
1221
1221
  "max_duration": "300s",
@@ -1228,6 +1228,68 @@ class Subscription(pulumi.CustomResource):
1228
1228
  ]))
1229
1229
  project = gcp.organizations.get_project()
1230
1230
  ```
1231
+ ### Pubsub Subscription Single Smt
1232
+
1233
+ ```python
1234
+ import pulumi
1235
+ import pulumi_gcp as gcp
1236
+
1237
+ example = gcp.pubsub.Topic("example", name="example-topic")
1238
+ example_subscription = gcp.pubsub.Subscription("example",
1239
+ name="example-subscription",
1240
+ topic=example.id,
1241
+ message_transforms=[{
1242
+ "javascript_udf": {
1243
+ "function_name": "isYearEven",
1244
+ "code": \"\"\"function isYearEven(message, metadata) {
1245
+ const data = JSON.parse(message.data);
1246
+ return message.year %2 === 0;
1247
+ }
1248
+ \"\"\",
1249
+ },
1250
+ }])
1251
+ ```
1252
+ ### Pubsub Subscription Multiple Smts
1253
+
1254
+ ```python
1255
+ import pulumi
1256
+ import pulumi_gcp as gcp
1257
+
1258
+ example = gcp.pubsub.Topic("example", name="example-topic")
1259
+ example_subscription = gcp.pubsub.Subscription("example",
1260
+ name="example-subscription",
1261
+ topic=example.id,
1262
+ message_transforms=[
1263
+ {
1264
+ "javascript_udf": {
1265
+ "function_name": "redactSSN",
1266
+ "code": \"\"\"function redactSSN(message, metadata) {
1267
+ const data = JSON.parse(message.data);
1268
+ delete data['ssn'];
1269
+ message.data = JSON.stringify(data);
1270
+ return message;
1271
+ }
1272
+ \"\"\",
1273
+ },
1274
+ },
1275
+ {
1276
+ "javascript_udf": {
1277
+ "function_name": "otherFunc",
1278
+ "code": \"\"\"function otherFunc(message, metadata) {
1279
+ return null;
1280
+ }
1281
+ \"\"\",
1282
+ },
1283
+ },
1284
+ {
1285
+ "disabled": True,
1286
+ "javascript_udf": {
1287
+ "function_name": "someSMTWeDisabled",
1288
+ "code": "...",
1289
+ },
1290
+ },
1291
+ ])
1292
+ ```
1231
1293
 
1232
1294
  ## Import
1233
1295
 
@@ -1583,7 +1645,7 @@ class Subscription(pulumi.CustomResource):
1583
1645
  cloud_storage_config={
1584
1646
  "bucket": example.name,
1585
1647
  "filename_prefix": "pre-",
1586
- "filename_suffix": "-_26032",
1648
+ "filename_suffix": "-_50610",
1587
1649
  "filename_datetime_format": "YYYY-MM-DD/hh_mm_ssZ",
1588
1650
  "max_bytes": 1000,
1589
1651
  "max_duration": "300s",
@@ -1616,7 +1678,7 @@ class Subscription(pulumi.CustomResource):
1616
1678
  cloud_storage_config={
1617
1679
  "bucket": example.name,
1618
1680
  "filename_prefix": "pre-",
1619
- "filename_suffix": "-_8647",
1681
+ "filename_suffix": "-_77124",
1620
1682
  "filename_datetime_format": "YYYY-MM-DD/hh_mm_ssZ",
1621
1683
  "max_bytes": 1000,
1622
1684
  "max_duration": "300s",
@@ -1655,7 +1717,7 @@ class Subscription(pulumi.CustomResource):
1655
1717
  cloud_storage_config={
1656
1718
  "bucket": example.name,
1657
1719
  "filename_prefix": "pre-",
1658
- "filename_suffix": "-_50610",
1720
+ "filename_suffix": "-_15335",
1659
1721
  "filename_datetime_format": "YYYY-MM-DD/hh_mm_ssZ",
1660
1722
  "max_bytes": 1000,
1661
1723
  "max_duration": "300s",
@@ -1668,6 +1730,68 @@ class Subscription(pulumi.CustomResource):
1668
1730
  ]))
1669
1731
  project = gcp.organizations.get_project()
1670
1732
  ```
1733
+ ### Pubsub Subscription Single Smt
1734
+
1735
+ ```python
1736
+ import pulumi
1737
+ import pulumi_gcp as gcp
1738
+
1739
+ example = gcp.pubsub.Topic("example", name="example-topic")
1740
+ example_subscription = gcp.pubsub.Subscription("example",
1741
+ name="example-subscription",
1742
+ topic=example.id,
1743
+ message_transforms=[{
1744
+ "javascript_udf": {
1745
+ "function_name": "isYearEven",
1746
+ "code": \"\"\"function isYearEven(message, metadata) {
1747
+ const data = JSON.parse(message.data);
1748
+ return message.year %2 === 0;
1749
+ }
1750
+ \"\"\",
1751
+ },
1752
+ }])
1753
+ ```
1754
+ ### Pubsub Subscription Multiple Smts
1755
+
1756
+ ```python
1757
+ import pulumi
1758
+ import pulumi_gcp as gcp
1759
+
1760
+ example = gcp.pubsub.Topic("example", name="example-topic")
1761
+ example_subscription = gcp.pubsub.Subscription("example",
1762
+ name="example-subscription",
1763
+ topic=example.id,
1764
+ message_transforms=[
1765
+ {
1766
+ "javascript_udf": {
1767
+ "function_name": "redactSSN",
1768
+ "code": \"\"\"function redactSSN(message, metadata) {
1769
+ const data = JSON.parse(message.data);
1770
+ delete data['ssn'];
1771
+ message.data = JSON.stringify(data);
1772
+ return message;
1773
+ }
1774
+ \"\"\",
1775
+ },
1776
+ },
1777
+ {
1778
+ "javascript_udf": {
1779
+ "function_name": "otherFunc",
1780
+ "code": \"\"\"function otherFunc(message, metadata) {
1781
+ return null;
1782
+ }
1783
+ \"\"\",
1784
+ },
1785
+ },
1786
+ {
1787
+ "disabled": True,
1788
+ "javascript_udf": {
1789
+ "function_name": "someSMTWeDisabled",
1790
+ "code": "...",
1791
+ },
1792
+ },
1793
+ ])
1794
+ ```
1671
1795
 
1672
1796
  ## Import
1673
1797