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
@@ -0,0 +1,602 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
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
15
+ from .. import _utilities
16
+
17
+ __all__ = ['WorkforcePoolIamPolicyArgs', 'WorkforcePoolIamPolicy']
18
+
19
+ @pulumi.input_type
20
+ class WorkforcePoolIamPolicyArgs:
21
+ def __init__(__self__, *,
22
+ policy_data: pulumi.Input[_builtins.str],
23
+ workforce_pool_id: pulumi.Input[_builtins.str],
24
+ location: Optional[pulumi.Input[_builtins.str]] = None):
25
+ """
26
+ The set of arguments for constructing a WorkforcePoolIamPolicy resource.
27
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
28
+ a `organizations_get_iam_policy` data source.
29
+ :param pulumi.Input[_builtins.str] workforce_pool_id: Used to find the parent resource to bind the IAM policy to
30
+ :param pulumi.Input[_builtins.str] location: The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
31
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
32
+ location is specified, it is taken from the provider configuration.
33
+ """
34
+ pulumi.set(__self__, "policy_data", policy_data)
35
+ pulumi.set(__self__, "workforce_pool_id", workforce_pool_id)
36
+ if location is not None:
37
+ pulumi.set(__self__, "location", location)
38
+
39
+ @_builtins.property
40
+ @pulumi.getter(name="policyData")
41
+ def policy_data(self) -> pulumi.Input[_builtins.str]:
42
+ """
43
+ The policy data generated by
44
+ a `organizations_get_iam_policy` data source.
45
+ """
46
+ return pulumi.get(self, "policy_data")
47
+
48
+ @policy_data.setter
49
+ def policy_data(self, value: pulumi.Input[_builtins.str]):
50
+ pulumi.set(self, "policy_data", value)
51
+
52
+ @_builtins.property
53
+ @pulumi.getter(name="workforcePoolId")
54
+ def workforce_pool_id(self) -> pulumi.Input[_builtins.str]:
55
+ """
56
+ Used to find the parent resource to bind the IAM policy to
57
+ """
58
+ return pulumi.get(self, "workforce_pool_id")
59
+
60
+ @workforce_pool_id.setter
61
+ def workforce_pool_id(self, value: pulumi.Input[_builtins.str]):
62
+ pulumi.set(self, "workforce_pool_id", value)
63
+
64
+ @_builtins.property
65
+ @pulumi.getter
66
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
67
+ """
68
+ The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
69
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
70
+ location is specified, it is taken from the provider configuration.
71
+ """
72
+ return pulumi.get(self, "location")
73
+
74
+ @location.setter
75
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
76
+ pulumi.set(self, "location", value)
77
+
78
+
79
+ @pulumi.input_type
80
+ class _WorkforcePoolIamPolicyState:
81
+ def __init__(__self__, *,
82
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
83
+ location: Optional[pulumi.Input[_builtins.str]] = None,
84
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
85
+ workforce_pool_id: Optional[pulumi.Input[_builtins.str]] = None):
86
+ """
87
+ Input properties used for looking up and filtering WorkforcePoolIamPolicy resources.
88
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
89
+ :param pulumi.Input[_builtins.str] location: The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
90
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
91
+ location is specified, it is taken from the provider configuration.
92
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
93
+ a `organizations_get_iam_policy` data source.
94
+ :param pulumi.Input[_builtins.str] workforce_pool_id: Used to find the parent resource to bind the IAM policy to
95
+ """
96
+ if etag is not None:
97
+ pulumi.set(__self__, "etag", etag)
98
+ if location is not None:
99
+ pulumi.set(__self__, "location", location)
100
+ if policy_data is not None:
101
+ pulumi.set(__self__, "policy_data", policy_data)
102
+ if workforce_pool_id is not None:
103
+ pulumi.set(__self__, "workforce_pool_id", workforce_pool_id)
104
+
105
+ @_builtins.property
106
+ @pulumi.getter
107
+ def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
108
+ """
109
+ (Computed) The etag of the IAM policy.
110
+ """
111
+ return pulumi.get(self, "etag")
112
+
113
+ @etag.setter
114
+ def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
115
+ pulumi.set(self, "etag", value)
116
+
117
+ @_builtins.property
118
+ @pulumi.getter
119
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
120
+ """
121
+ The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
122
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
123
+ location is specified, it is taken from the provider configuration.
124
+ """
125
+ return pulumi.get(self, "location")
126
+
127
+ @location.setter
128
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
129
+ pulumi.set(self, "location", value)
130
+
131
+ @_builtins.property
132
+ @pulumi.getter(name="policyData")
133
+ def policy_data(self) -> Optional[pulumi.Input[_builtins.str]]:
134
+ """
135
+ The policy data generated by
136
+ a `organizations_get_iam_policy` data source.
137
+ """
138
+ return pulumi.get(self, "policy_data")
139
+
140
+ @policy_data.setter
141
+ def policy_data(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "policy_data", value)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter(name="workforcePoolId")
146
+ def workforce_pool_id(self) -> Optional[pulumi.Input[_builtins.str]]:
147
+ """
148
+ Used to find the parent resource to bind the IAM policy to
149
+ """
150
+ return pulumi.get(self, "workforce_pool_id")
151
+
152
+ @workforce_pool_id.setter
153
+ def workforce_pool_id(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "workforce_pool_id", value)
155
+
156
+
157
+ @pulumi.type_token("gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy")
158
+ class WorkforcePoolIamPolicy(pulumi.CustomResource):
159
+ @overload
160
+ def __init__(__self__,
161
+ resource_name: str,
162
+ opts: Optional[pulumi.ResourceOptions] = None,
163
+ location: Optional[pulumi.Input[_builtins.str]] = None,
164
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
165
+ workforce_pool_id: Optional[pulumi.Input[_builtins.str]] = None,
166
+ __props__=None):
167
+ """
168
+ Three different resources help you manage your IAM policy for Cloud IAM WorkforcePool. Each of these resources serves a different use case:
169
+
170
+ * `iam.WorkforcePoolIamPolicy`: Authoritative. Sets the IAM policy for the workforcepool and replaces any existing policy already attached.
171
+ * `iam.WorkforcePoolIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the workforcepool are preserved.
172
+ * `iam.WorkforcePoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workforcepool are preserved.
173
+
174
+ A data source can be used to retrieve policy data in advent you do not need creation
175
+
176
+ * `iam.WorkforcePoolIamPolicy`: Retrieves the IAM policy for the workforcepool
177
+
178
+ > **Note:** `iam.WorkforcePoolIamPolicy` **cannot** be used in conjunction with `iam.WorkforcePoolIamBinding` and `iam.WorkforcePoolIamMember` or they will fight over what your policy should be.
179
+
180
+ > **Note:** `iam.WorkforcePoolIamBinding` resources **can be** used in conjunction with `iam.WorkforcePoolIamMember` resources **only if** they do not grant privilege to the same role.
181
+
182
+ ## iam.WorkforcePoolIamPolicy
183
+
184
+ ```python
185
+ import pulumi
186
+ import pulumi_gcp as gcp
187
+
188
+ admin = gcp.organizations.get_iam_policy(bindings=[{
189
+ "role": "roles/iam.workforcePoolAdmin",
190
+ "members": ["user:jane@example.com"],
191
+ }])
192
+ policy = gcp.iam.WorkforcePoolIamPolicy("policy",
193
+ location=example["location"],
194
+ workforce_pool_id=example["workforcePoolId"],
195
+ policy_data=admin.policy_data)
196
+ ```
197
+
198
+ ## iam.WorkforcePoolIamBinding
199
+
200
+ ```python
201
+ import pulumi
202
+ import pulumi_gcp as gcp
203
+
204
+ binding = gcp.iam.WorkforcePoolIamBinding("binding",
205
+ location=example["location"],
206
+ workforce_pool_id=example["workforcePoolId"],
207
+ role="roles/iam.workforcePoolAdmin",
208
+ members=["user:jane@example.com"])
209
+ ```
210
+
211
+ ## iam.WorkforcePoolIamMember
212
+
213
+ ```python
214
+ import pulumi
215
+ import pulumi_gcp as gcp
216
+
217
+ member = gcp.iam.WorkforcePoolIamMember("member",
218
+ location=example["location"],
219
+ workforce_pool_id=example["workforcePoolId"],
220
+ role="roles/iam.workforcePoolAdmin",
221
+ member="user:jane@example.com")
222
+ ```
223
+
224
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
225
+
226
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
227
+ ---
228
+
229
+ # IAM policy for Cloud IAM WorkforcePool
230
+
231
+ Three different resources help you manage your IAM policy for Cloud IAM WorkforcePool. Each of these resources serves a different use case:
232
+
233
+ * `iam.WorkforcePoolIamPolicy`: Authoritative. Sets the IAM policy for the workforcepool and replaces any existing policy already attached.
234
+ * `iam.WorkforcePoolIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the workforcepool are preserved.
235
+ * `iam.WorkforcePoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workforcepool are preserved.
236
+
237
+ A data source can be used to retrieve policy data in advent you do not need creation
238
+
239
+ * `iam.WorkforcePoolIamPolicy`: Retrieves the IAM policy for the workforcepool
240
+
241
+ > **Note:** `iam.WorkforcePoolIamPolicy` **cannot** be used in conjunction with `iam.WorkforcePoolIamBinding` and `iam.WorkforcePoolIamMember` or they will fight over what your policy should be.
242
+
243
+ > **Note:** `iam.WorkforcePoolIamBinding` resources **can be** used in conjunction with `iam.WorkforcePoolIamMember` resources **only if** they do not grant privilege to the same role.
244
+
245
+ ## iam.WorkforcePoolIamPolicy
246
+
247
+ ```python
248
+ import pulumi
249
+ import pulumi_gcp as gcp
250
+
251
+ admin = gcp.organizations.get_iam_policy(bindings=[{
252
+ "role": "roles/iam.workforcePoolAdmin",
253
+ "members": ["user:jane@example.com"],
254
+ }])
255
+ policy = gcp.iam.WorkforcePoolIamPolicy("policy",
256
+ location=example["location"],
257
+ workforce_pool_id=example["workforcePoolId"],
258
+ policy_data=admin.policy_data)
259
+ ```
260
+
261
+ ## iam.WorkforcePoolIamBinding
262
+
263
+ ```python
264
+ import pulumi
265
+ import pulumi_gcp as gcp
266
+
267
+ binding = gcp.iam.WorkforcePoolIamBinding("binding",
268
+ location=example["location"],
269
+ workforce_pool_id=example["workforcePoolId"],
270
+ role="roles/iam.workforcePoolAdmin",
271
+ members=["user:jane@example.com"])
272
+ ```
273
+
274
+ ## iam.WorkforcePoolIamMember
275
+
276
+ ```python
277
+ import pulumi
278
+ import pulumi_gcp as gcp
279
+
280
+ member = gcp.iam.WorkforcePoolIamMember("member",
281
+ location=example["location"],
282
+ workforce_pool_id=example["workforcePoolId"],
283
+ role="roles/iam.workforcePoolAdmin",
284
+ member="user:jane@example.com")
285
+ ```
286
+
287
+ ## Import
288
+
289
+ For all import syntaxes, the "resource in question" can take any of the following forms:
290
+
291
+ * locations/{{location}}/workforcePools/{{workforce_pool_id}}
292
+
293
+ * {{location}}/{{workforce_pool_id}}
294
+
295
+ * {{workforce_pool_id}}
296
+
297
+ Any variables not passed in the import command will be taken from the provider configuration.
298
+
299
+ Cloud IAM workforcepool IAM resources can be imported using the resource identifiers, role, and member.
300
+
301
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
302
+
303
+ ```sh
304
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor "locations/{{location}}/workforcePools/{{workforce_pool_id}} roles/iam.workforcePoolViewer user:jane@example.com"
305
+ ```
306
+
307
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
308
+
309
+ ```sh
310
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor "locations/{{location}}/workforcePools/{{workforce_pool_id}} roles/iam.workforcePoolViewer"
311
+ ```
312
+
313
+ IAM policy imports use the identifier of the resource in question, e.g.
314
+
315
+ ```sh
316
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor locations/{{location}}/workforcePools/{{workforce_pool_id}}
317
+ ```
318
+
319
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
320
+
321
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
322
+
323
+ :param str resource_name: The name of the resource.
324
+ :param pulumi.ResourceOptions opts: Options for the resource.
325
+ :param pulumi.Input[_builtins.str] location: The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
326
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
327
+ location is specified, it is taken from the provider configuration.
328
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
329
+ a `organizations_get_iam_policy` data source.
330
+ :param pulumi.Input[_builtins.str] workforce_pool_id: Used to find the parent resource to bind the IAM policy to
331
+ """
332
+ ...
333
+ @overload
334
+ def __init__(__self__,
335
+ resource_name: str,
336
+ args: WorkforcePoolIamPolicyArgs,
337
+ opts: Optional[pulumi.ResourceOptions] = None):
338
+ """
339
+ Three different resources help you manage your IAM policy for Cloud IAM WorkforcePool. Each of these resources serves a different use case:
340
+
341
+ * `iam.WorkforcePoolIamPolicy`: Authoritative. Sets the IAM policy for the workforcepool and replaces any existing policy already attached.
342
+ * `iam.WorkforcePoolIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the workforcepool are preserved.
343
+ * `iam.WorkforcePoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workforcepool are preserved.
344
+
345
+ A data source can be used to retrieve policy data in advent you do not need creation
346
+
347
+ * `iam.WorkforcePoolIamPolicy`: Retrieves the IAM policy for the workforcepool
348
+
349
+ > **Note:** `iam.WorkforcePoolIamPolicy` **cannot** be used in conjunction with `iam.WorkforcePoolIamBinding` and `iam.WorkforcePoolIamMember` or they will fight over what your policy should be.
350
+
351
+ > **Note:** `iam.WorkforcePoolIamBinding` resources **can be** used in conjunction with `iam.WorkforcePoolIamMember` resources **only if** they do not grant privilege to the same role.
352
+
353
+ ## iam.WorkforcePoolIamPolicy
354
+
355
+ ```python
356
+ import pulumi
357
+ import pulumi_gcp as gcp
358
+
359
+ admin = gcp.organizations.get_iam_policy(bindings=[{
360
+ "role": "roles/iam.workforcePoolAdmin",
361
+ "members": ["user:jane@example.com"],
362
+ }])
363
+ policy = gcp.iam.WorkforcePoolIamPolicy("policy",
364
+ location=example["location"],
365
+ workforce_pool_id=example["workforcePoolId"],
366
+ policy_data=admin.policy_data)
367
+ ```
368
+
369
+ ## iam.WorkforcePoolIamBinding
370
+
371
+ ```python
372
+ import pulumi
373
+ import pulumi_gcp as gcp
374
+
375
+ binding = gcp.iam.WorkforcePoolIamBinding("binding",
376
+ location=example["location"],
377
+ workforce_pool_id=example["workforcePoolId"],
378
+ role="roles/iam.workforcePoolAdmin",
379
+ members=["user:jane@example.com"])
380
+ ```
381
+
382
+ ## iam.WorkforcePoolIamMember
383
+
384
+ ```python
385
+ import pulumi
386
+ import pulumi_gcp as gcp
387
+
388
+ member = gcp.iam.WorkforcePoolIamMember("member",
389
+ location=example["location"],
390
+ workforce_pool_id=example["workforcePoolId"],
391
+ role="roles/iam.workforcePoolAdmin",
392
+ member="user:jane@example.com")
393
+ ```
394
+
395
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
396
+
397
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
398
+ ---
399
+
400
+ # IAM policy for Cloud IAM WorkforcePool
401
+
402
+ Three different resources help you manage your IAM policy for Cloud IAM WorkforcePool. Each of these resources serves a different use case:
403
+
404
+ * `iam.WorkforcePoolIamPolicy`: Authoritative. Sets the IAM policy for the workforcepool and replaces any existing policy already attached.
405
+ * `iam.WorkforcePoolIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the workforcepool are preserved.
406
+ * `iam.WorkforcePoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workforcepool are preserved.
407
+
408
+ A data source can be used to retrieve policy data in advent you do not need creation
409
+
410
+ * `iam.WorkforcePoolIamPolicy`: Retrieves the IAM policy for the workforcepool
411
+
412
+ > **Note:** `iam.WorkforcePoolIamPolicy` **cannot** be used in conjunction with `iam.WorkforcePoolIamBinding` and `iam.WorkforcePoolIamMember` or they will fight over what your policy should be.
413
+
414
+ > **Note:** `iam.WorkforcePoolIamBinding` resources **can be** used in conjunction with `iam.WorkforcePoolIamMember` resources **only if** they do not grant privilege to the same role.
415
+
416
+ ## iam.WorkforcePoolIamPolicy
417
+
418
+ ```python
419
+ import pulumi
420
+ import pulumi_gcp as gcp
421
+
422
+ admin = gcp.organizations.get_iam_policy(bindings=[{
423
+ "role": "roles/iam.workforcePoolAdmin",
424
+ "members": ["user:jane@example.com"],
425
+ }])
426
+ policy = gcp.iam.WorkforcePoolIamPolicy("policy",
427
+ location=example["location"],
428
+ workforce_pool_id=example["workforcePoolId"],
429
+ policy_data=admin.policy_data)
430
+ ```
431
+
432
+ ## iam.WorkforcePoolIamBinding
433
+
434
+ ```python
435
+ import pulumi
436
+ import pulumi_gcp as gcp
437
+
438
+ binding = gcp.iam.WorkforcePoolIamBinding("binding",
439
+ location=example["location"],
440
+ workforce_pool_id=example["workforcePoolId"],
441
+ role="roles/iam.workforcePoolAdmin",
442
+ members=["user:jane@example.com"])
443
+ ```
444
+
445
+ ## iam.WorkforcePoolIamMember
446
+
447
+ ```python
448
+ import pulumi
449
+ import pulumi_gcp as gcp
450
+
451
+ member = gcp.iam.WorkforcePoolIamMember("member",
452
+ location=example["location"],
453
+ workforce_pool_id=example["workforcePoolId"],
454
+ role="roles/iam.workforcePoolAdmin",
455
+ member="user:jane@example.com")
456
+ ```
457
+
458
+ ## Import
459
+
460
+ For all import syntaxes, the "resource in question" can take any of the following forms:
461
+
462
+ * locations/{{location}}/workforcePools/{{workforce_pool_id}}
463
+
464
+ * {{location}}/{{workforce_pool_id}}
465
+
466
+ * {{workforce_pool_id}}
467
+
468
+ Any variables not passed in the import command will be taken from the provider configuration.
469
+
470
+ Cloud IAM workforcepool IAM resources can be imported using the resource identifiers, role, and member.
471
+
472
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
473
+
474
+ ```sh
475
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor "locations/{{location}}/workforcePools/{{workforce_pool_id}} roles/iam.workforcePoolViewer user:jane@example.com"
476
+ ```
477
+
478
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
479
+
480
+ ```sh
481
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor "locations/{{location}}/workforcePools/{{workforce_pool_id}} roles/iam.workforcePoolViewer"
482
+ ```
483
+
484
+ IAM policy imports use the identifier of the resource in question, e.g.
485
+
486
+ ```sh
487
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor locations/{{location}}/workforcePools/{{workforce_pool_id}}
488
+ ```
489
+
490
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
491
+
492
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
493
+
494
+ :param str resource_name: The name of the resource.
495
+ :param WorkforcePoolIamPolicyArgs args: The arguments to use to populate this resource's properties.
496
+ :param pulumi.ResourceOptions opts: Options for the resource.
497
+ """
498
+ ...
499
+ def __init__(__self__, resource_name: str, *args, **kwargs):
500
+ resource_args, opts = _utilities.get_resource_args_opts(WorkforcePoolIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
501
+ if resource_args is not None:
502
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
503
+ else:
504
+ __self__._internal_init(resource_name, *args, **kwargs)
505
+
506
+ def _internal_init(__self__,
507
+ resource_name: str,
508
+ opts: Optional[pulumi.ResourceOptions] = None,
509
+ location: Optional[pulumi.Input[_builtins.str]] = None,
510
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
511
+ workforce_pool_id: Optional[pulumi.Input[_builtins.str]] = None,
512
+ __props__=None):
513
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
514
+ if not isinstance(opts, pulumi.ResourceOptions):
515
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
516
+ if opts.id is None:
517
+ if __props__ is not None:
518
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
519
+ __props__ = WorkforcePoolIamPolicyArgs.__new__(WorkforcePoolIamPolicyArgs)
520
+
521
+ __props__.__dict__["location"] = location
522
+ if policy_data is None and not opts.urn:
523
+ raise TypeError("Missing required property 'policy_data'")
524
+ __props__.__dict__["policy_data"] = policy_data
525
+ if workforce_pool_id is None and not opts.urn:
526
+ raise TypeError("Missing required property 'workforce_pool_id'")
527
+ __props__.__dict__["workforce_pool_id"] = workforce_pool_id
528
+ __props__.__dict__["etag"] = None
529
+ super(WorkforcePoolIamPolicy, __self__).__init__(
530
+ 'gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy',
531
+ resource_name,
532
+ __props__,
533
+ opts)
534
+
535
+ @staticmethod
536
+ def get(resource_name: str,
537
+ id: pulumi.Input[str],
538
+ opts: Optional[pulumi.ResourceOptions] = None,
539
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
540
+ location: Optional[pulumi.Input[_builtins.str]] = None,
541
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
542
+ workforce_pool_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'WorkforcePoolIamPolicy':
543
+ """
544
+ Get an existing WorkforcePoolIamPolicy resource's state with the given name, id, and optional extra
545
+ properties used to qualify the lookup.
546
+
547
+ :param str resource_name: The unique name of the resulting resource.
548
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
549
+ :param pulumi.ResourceOptions opts: Options for the resource.
550
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
551
+ :param pulumi.Input[_builtins.str] location: The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
552
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
553
+ location is specified, it is taken from the provider configuration.
554
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
555
+ a `organizations_get_iam_policy` data source.
556
+ :param pulumi.Input[_builtins.str] workforce_pool_id: Used to find the parent resource to bind the IAM policy to
557
+ """
558
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
559
+
560
+ __props__ = _WorkforcePoolIamPolicyState.__new__(_WorkforcePoolIamPolicyState)
561
+
562
+ __props__.__dict__["etag"] = etag
563
+ __props__.__dict__["location"] = location
564
+ __props__.__dict__["policy_data"] = policy_data
565
+ __props__.__dict__["workforce_pool_id"] = workforce_pool_id
566
+ return WorkforcePoolIamPolicy(resource_name, opts=opts, __props__=__props__)
567
+
568
+ @_builtins.property
569
+ @pulumi.getter
570
+ def etag(self) -> pulumi.Output[_builtins.str]:
571
+ """
572
+ (Computed) The etag of the IAM policy.
573
+ """
574
+ return pulumi.get(self, "etag")
575
+
576
+ @_builtins.property
577
+ @pulumi.getter
578
+ def location(self) -> pulumi.Output[_builtins.str]:
579
+ """
580
+ The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
581
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
582
+ location is specified, it is taken from the provider configuration.
583
+ """
584
+ return pulumi.get(self, "location")
585
+
586
+ @_builtins.property
587
+ @pulumi.getter(name="policyData")
588
+ def policy_data(self) -> pulumi.Output[_builtins.str]:
589
+ """
590
+ The policy data generated by
591
+ a `organizations_get_iam_policy` data source.
592
+ """
593
+ return pulumi.get(self, "policy_data")
594
+
595
+ @_builtins.property
596
+ @pulumi.getter(name="workforcePoolId")
597
+ def workforce_pool_id(self) -> pulumi.Output[_builtins.str]:
598
+ """
599
+ Used to find the parent resource to bind the IAM policy to
600
+ """
601
+ return pulumi.get(self, "workforce_pool_id")
602
+
@@ -432,6 +432,7 @@ class AppEngineServiceIamBinding(pulumi.CustomResource):
432
432
  -
433
433
 
434
434
  # IAM policy for Identity-Aware Proxy AppEngineService
435
+
435
436
  Three different resources help you manage your IAM policy for Identity-Aware Proxy AppEngineService. Each of these resources serves a different use case:
436
437
 
437
438
  * `iap.AppEngineServiceIamPolicy`: Authoritative. Sets the IAM policy for the appengineservice and replaces any existing policy already attached.
@@ -743,6 +744,7 @@ class AppEngineServiceIamBinding(pulumi.CustomResource):
743
744
  -
744
745
 
745
746
  # IAM policy for Identity-Aware Proxy AppEngineService
747
+
746
748
  Three different resources help you manage your IAM policy for Identity-Aware Proxy AppEngineService. Each of these resources serves a different use case:
747
749
 
748
750
  * `iap.AppEngineServiceIamPolicy`: Authoritative. Sets the IAM policy for the appengineservice and replaces any existing policy already attached.
@@ -432,6 +432,7 @@ class AppEngineServiceIamMember(pulumi.CustomResource):
432
432
  -
433
433
 
434
434
  # IAM policy for Identity-Aware Proxy AppEngineService
435
+
435
436
  Three different resources help you manage your IAM policy for Identity-Aware Proxy AppEngineService. Each of these resources serves a different use case:
436
437
 
437
438
  * `iap.AppEngineServiceIamPolicy`: Authoritative. Sets the IAM policy for the appengineservice and replaces any existing policy already attached.
@@ -743,6 +744,7 @@ class AppEngineServiceIamMember(pulumi.CustomResource):
743
744
  -
744
745
 
745
746
  # IAM policy for Identity-Aware Proxy AppEngineService
747
+
746
748
  Three different resources help you manage your IAM policy for Identity-Aware Proxy AppEngineService. Each of these resources serves a different use case:
747
749
 
748
750
  * `iap.AppEngineServiceIamPolicy`: Authoritative. Sets the IAM policy for the appengineservice and replaces any existing policy already attached.
@@ -317,6 +317,7 @@ class AppEngineServiceIamPolicy(pulumi.CustomResource):
317
317
  -
318
318
 
319
319
  # IAM policy for Identity-Aware Proxy AppEngineService
320
+
320
321
  Three different resources help you manage your IAM policy for Identity-Aware Proxy AppEngineService. Each of these resources serves a different use case:
321
322
 
322
323
  * `iap.AppEngineServiceIamPolicy`: Authoritative. Sets the IAM policy for the appengineservice and replaces any existing policy already attached.
@@ -614,6 +615,7 @@ class AppEngineServiceIamPolicy(pulumi.CustomResource):
614
615
  -
615
616
 
616
617
  # IAM policy for Identity-Aware Proxy AppEngineService
618
+
617
619
  Three different resources help you manage your IAM policy for Identity-Aware Proxy AppEngineService. Each of these resources serves a different use case:
618
620
 
619
621
  * `iap.AppEngineServiceIamPolicy`: Authoritative. Sets the IAM policy for the appengineservice and replaces any existing policy already attached.
@@ -470,6 +470,7 @@ class AppEngineVersionIamBinding(pulumi.CustomResource):
470
470
  -
471
471
 
472
472
  # IAM policy for Identity-Aware Proxy AppEngineVersion
473
+
473
474
  Three different resources help you manage your IAM policy for Identity-Aware Proxy AppEngineVersion. Each of these resources serves a different use case:
474
475
 
475
476
  * `iap.AppEngineVersionIamPolicy`: Authoritative. Sets the IAM policy for the appengineversion and replaces any existing policy already attached.
@@ -794,6 +795,7 @@ class AppEngineVersionIamBinding(pulumi.CustomResource):
794
795
  -
795
796
 
796
797
  # IAM policy for Identity-Aware Proxy AppEngineVersion
798
+
797
799
  Three different resources help you manage your IAM policy for Identity-Aware Proxy AppEngineVersion. Each of these resources serves a different use case:
798
800
 
799
801
  * `iap.AppEngineVersionIamPolicy`: Authoritative. Sets the IAM policy for the appengineversion and replaces any existing policy already attached.