pulumi-gcp 8.42.0a1758178363__py3-none-any.whl → 9.0.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 (271) hide show
  1. pulumi_gcp/__init__.py +83 -48
  2. pulumi_gcp/activedirectory/peering.py +16 -0
  3. pulumi_gcp/alloydb/backup.py +8 -4
  4. pulumi_gcp/alloydb/cluster.py +56 -10
  5. pulumi_gcp/alloydb/get_cluster.py +12 -1
  6. pulumi_gcp/alloydb/instance.py +10 -4
  7. pulumi_gcp/alloydb/user.py +8 -4
  8. pulumi_gcp/apigateway/api_config_iam_binding.py +4 -4
  9. pulumi_gcp/apigateway/api_config_iam_member.py +4 -4
  10. pulumi_gcp/apigateway/api_config_iam_policy.py +4 -4
  11. pulumi_gcp/apigateway/api_iam_binding.py +4 -4
  12. pulumi_gcp/apigateway/api_iam_member.py +4 -4
  13. pulumi_gcp/apigateway/api_iam_policy.py +4 -4
  14. pulumi_gcp/apigateway/gateway_iam_binding.py +4 -4
  15. pulumi_gcp/apigateway/gateway_iam_member.py +4 -4
  16. pulumi_gcp/apigateway/gateway_iam_policy.py +4 -4
  17. pulumi_gcp/apigee/_inputs.py +151 -108
  18. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
  19. pulumi_gcp/apigee/outputs.py +92 -88
  20. pulumi_gcp/artifactregistry/__init__.py +2 -0
  21. pulumi_gcp/artifactregistry/_inputs.py +0 -12
  22. pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
  23. pulumi_gcp/artifactregistry/get_python_package.py +237 -0
  24. pulumi_gcp/artifactregistry/get_repository.py +12 -1
  25. pulumi_gcp/artifactregistry/outputs.py +8 -16
  26. pulumi_gcp/artifactregistry/repository.py +28 -0
  27. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  28. pulumi_gcp/backupdisasterrecovery/backup_plan.py +4 -4
  29. pulumi_gcp/backupdisasterrecovery/get_backup.py +12 -1
  30. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +4 -0
  31. pulumi_gcp/backupdisasterrecovery/get_data_source_references.py +135 -0
  32. pulumi_gcp/backupdisasterrecovery/get_management_server.py +4 -0
  33. pulumi_gcp/backupdisasterrecovery/outputs.py +103 -0
  34. pulumi_gcp/beyondcorp/__init__.py +0 -5
  35. pulumi_gcp/beyondcorp/_inputs.py +0 -312
  36. pulumi_gcp/beyondcorp/outputs.py +0 -200
  37. pulumi_gcp/bigquery/_inputs.py +114 -4
  38. pulumi_gcp/bigquery/app_profile.py +3 -5
  39. pulumi_gcp/bigquery/outputs.py +75 -5
  40. pulumi_gcp/bigqueryanalyticshub/data_exchange_subscription.py +20 -0
  41. pulumi_gcp/bigtable/app_profile.py +1 -1
  42. pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
  43. pulumi_gcp/bigtable/table_iam_binding.py +43 -43
  44. pulumi_gcp/bigtable/table_iam_member.py +43 -43
  45. pulumi_gcp/bigtable/table_iam_policy.py +43 -43
  46. pulumi_gcp/billing/_inputs.py +0 -6
  47. pulumi_gcp/billing/outputs.py +0 -4
  48. pulumi_gcp/certificatemanager/__init__.py +1 -0
  49. pulumi_gcp/certificatemanager/certificate_map_entry.py +7 -7
  50. pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
  51. pulumi_gcp/certificatemanager/outputs.py +41 -0
  52. pulumi_gcp/chronicle/_inputs.py +6 -5
  53. pulumi_gcp/chronicle/outputs.py +4 -3
  54. pulumi_gcp/chronicle/reference_list.py +53 -5
  55. pulumi_gcp/cloudasset/get_resources_search_all.py +8 -0
  56. pulumi_gcp/cloudbuild/_inputs.py +309 -45
  57. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
  58. pulumi_gcp/cloudbuild/get_trigger.py +12 -1
  59. pulumi_gcp/cloudbuild/outputs.py +380 -30
  60. pulumi_gcp/cloudbuild/trigger.py +160 -2
  61. pulumi_gcp/cloudbuild/worker_pool.py +2 -6
  62. pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
  63. pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
  64. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +16 -0
  65. pulumi_gcp/cloudrunv2/_inputs.py +80 -26
  66. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  67. pulumi_gcp/cloudrunv2/outputs.py +109 -30
  68. pulumi_gcp/cloudrunv2/service.py +72 -12
  69. pulumi_gcp/cloudrunv2/worker_pool.py +2 -2
  70. pulumi_gcp/cloudtasks/queue.py +98 -2
  71. pulumi_gcp/colab/_inputs.py +1 -114
  72. pulumi_gcp/colab/outputs.py +1 -106
  73. pulumi_gcp/compute/_inputs.py +884 -24
  74. pulumi_gcp/compute/backend_bucket.py +68 -0
  75. pulumi_gcp/compute/backend_bucket_iam_binding.py +236 -0
  76. pulumi_gcp/compute/backend_bucket_iam_member.py +236 -0
  77. pulumi_gcp/compute/backend_bucket_iam_policy.py +236 -0
  78. pulumi_gcp/compute/backend_service.py +54 -0
  79. pulumi_gcp/compute/backend_service_iam_binding.py +464 -0
  80. pulumi_gcp/compute/backend_service_iam_member.py +464 -0
  81. pulumi_gcp/compute/backend_service_iam_policy.py +464 -0
  82. pulumi_gcp/compute/cross_site_network.py +16 -0
  83. pulumi_gcp/compute/future_reservation.py +32 -0
  84. pulumi_gcp/compute/get_backend_bucket.py +12 -1
  85. pulumi_gcp/compute/get_backend_service.py +12 -1
  86. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  87. pulumi_gcp/compute/get_resource_policy.py +2 -20
  88. pulumi_gcp/compute/machine_image_iam_binding.py +8 -4
  89. pulumi_gcp/compute/machine_image_iam_member.py +8 -4
  90. pulumi_gcp/compute/machine_image_iam_policy.py +8 -4
  91. pulumi_gcp/compute/network_edge_security_service.py +16 -0
  92. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +12 -0
  93. pulumi_gcp/compute/network_peering_routes_config.py +0 -100
  94. pulumi_gcp/compute/organization_security_policy.py +83 -51
  95. pulumi_gcp/compute/outputs.py +799 -16
  96. pulumi_gcp/compute/packet_mirroring.py +6 -0
  97. pulumi_gcp/compute/preview_feature.py +16 -0
  98. pulumi_gcp/compute/public_delegated_prefix.py +42 -0
  99. pulumi_gcp/compute/region_backend_service.py +54 -0
  100. pulumi_gcp/compute/region_backend_service_iam_binding.py +488 -0
  101. pulumi_gcp/compute/region_backend_service_iam_member.py +488 -0
  102. pulumi_gcp/compute/region_backend_service_iam_policy.py +488 -0
  103. pulumi_gcp/compute/region_network_endpoint_group.py +1 -3
  104. pulumi_gcp/compute/region_resize_request.py +24 -0
  105. pulumi_gcp/compute/region_url_map.py +75 -0
  106. pulumi_gcp/compute/subnetwork.py +0 -98
  107. pulumi_gcp/compute/wire_group.py +16 -0
  108. pulumi_gcp/config/__init__.pyi +2 -2
  109. pulumi_gcp/config/vars.py +4 -4
  110. pulumi_gcp/container/_inputs.py +466 -18
  111. pulumi_gcp/container/cluster.py +16 -7
  112. pulumi_gcp/container/outputs.py +448 -15
  113. pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
  114. pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
  115. pulumi_gcp/dataflow/flex_template_job.py +10 -0
  116. pulumi_gcp/dataform/repository.py +16 -0
  117. pulumi_gcp/dataform/repository_release_config.py +16 -0
  118. pulumi_gcp/dataform/repository_workflow_config.py +16 -0
  119. pulumi_gcp/diagflow/_inputs.py +152 -0
  120. pulumi_gcp/diagflow/cx_agent.py +425 -0
  121. pulumi_gcp/diagflow/outputs.py +143 -0
  122. pulumi_gcp/discoveryengine/__init__.py +1 -0
  123. pulumi_gcp/discoveryengine/_inputs.py +94 -0
  124. pulumi_gcp/discoveryengine/acl_config.py +393 -0
  125. pulumi_gcp/discoveryengine/outputs.py +92 -0
  126. pulumi_gcp/firebase/android_app.py +16 -0
  127. pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
  128. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
  129. pulumi_gcp/firebase/app_check_service_config.py +6 -12
  130. pulumi_gcp/firebase/app_hosting_backend.py +4 -8
  131. pulumi_gcp/firebase/app_hosting_build.py +4 -8
  132. pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
  133. pulumi_gcp/firebase/apple_app.py +16 -0
  134. pulumi_gcp/firebase/data_connect_service.py +4 -8
  135. pulumi_gcp/firebase/database_instance.py +20 -8
  136. pulumi_gcp/firebase/extensions_instance.py +12 -0
  137. pulumi_gcp/firebase/get_android_app.py +4 -2
  138. pulumi_gcp/firebase/get_apple_app.py +4 -2
  139. pulumi_gcp/firebase/get_apple_app_config.py +16 -2
  140. pulumi_gcp/firebase/get_hosting_channel.py +4 -2
  141. pulumi_gcp/firebase/hosting_channel.py +20 -0
  142. pulumi_gcp/firebase/hosting_custom_domain.py +20 -0
  143. pulumi_gcp/firebase/hosting_release.py +16 -0
  144. pulumi_gcp/firebase/hosting_site.py +16 -0
  145. pulumi_gcp/firebase/hosting_version.py +16 -0
  146. pulumi_gcp/firebase/storage_bucket.py +18 -0
  147. pulumi_gcp/firestore/index.py +118 -3
  148. pulumi_gcp/folder/service_identity.py +26 -0
  149. pulumi_gcp/gkehub/_inputs.py +0 -60
  150. pulumi_gcp/gkehub/get_membership.py +1 -12
  151. pulumi_gcp/gkehub/membership.py +0 -70
  152. pulumi_gcp/gkehub/membership_rbac_role_binding.py +16 -0
  153. pulumi_gcp/gkehub/outputs.py +0 -36
  154. pulumi_gcp/healthcare/_inputs.py +205 -0
  155. pulumi_gcp/healthcare/fhir_store.py +128 -0
  156. pulumi_gcp/healthcare/outputs.py +163 -0
  157. pulumi_gcp/iam/workload_identity_pool_iam_binding.py +464 -0
  158. pulumi_gcp/iam/workload_identity_pool_iam_member.py +464 -0
  159. pulumi_gcp/iam/workload_identity_pool_iam_policy.py +464 -0
  160. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +18 -0
  161. pulumi_gcp/iam/workload_identity_pool_namespace.py +20 -0
  162. pulumi_gcp/iap/__init__.py +8 -0
  163. pulumi_gcp/iap/_inputs.py +260 -0
  164. pulumi_gcp/iap/get_web_forwarding_rule_service_iam_policy.py +159 -0
  165. pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
  166. pulumi_gcp/iap/outputs.py +152 -0
  167. pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_forwarding_rule_service_iam_binding.py} +233 -315
  168. pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_forwarding_rule_service_iam_member.py} +233 -315
  169. pulumi_gcp/{beyondcorp/application_iam_policy.py → iap/web_forwarding_rule_service_iam_policy.py} +212 -294
  170. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_binding.py +1091 -0
  171. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_member.py +1091 -0
  172. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
  173. pulumi_gcp/kms/autokey_config.py +0 -2
  174. pulumi_gcp/kms/get_kms_secret_asymmetric.py +22 -0
  175. pulumi_gcp/kms/key_handle.py +0 -2
  176. pulumi_gcp/logging/organization_sink.py +7 -7
  177. pulumi_gcp/managedkafka/connect_cluster.py +4 -0
  178. pulumi_gcp/managedkafka/connector.py +4 -0
  179. pulumi_gcp/memorystore/get_instance.py +1 -12
  180. pulumi_gcp/memorystore/instance.py +14 -84
  181. pulumi_gcp/netapp/storage_pool.py +91 -2
  182. pulumi_gcp/netapp/volume.py +47 -0
  183. pulumi_gcp/networkmanagement/__init__.py +1 -0
  184. pulumi_gcp/networkmanagement/organization_vpc_flow_logs_config.py +1028 -0
  185. pulumi_gcp/networksecurity/authorization_policy.py +12 -0
  186. pulumi_gcp/networkservices/gateway.py +7 -7
  187. pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
  188. pulumi_gcp/networkservices/service_lb_policies.py +12 -0
  189. pulumi_gcp/notebooks/__init__.py +0 -1
  190. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  191. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
  192. pulumi_gcp/projects/service.py +2 -11
  193. pulumi_gcp/provider.py +20 -20
  194. pulumi_gcp/pulumi-plugin.json +1 -1
  195. pulumi_gcp/redis/cluster.py +0 -70
  196. pulumi_gcp/redis/get_cluster.py +1 -12
  197. pulumi_gcp/resourcemanager/capability.py +16 -0
  198. pulumi_gcp/runtimeconfig/config.py +16 -0
  199. pulumi_gcp/runtimeconfig/config_iam_binding.py +236 -0
  200. pulumi_gcp/runtimeconfig/config_iam_member.py +236 -0
  201. pulumi_gcp/runtimeconfig/config_iam_policy.py +236 -0
  202. pulumi_gcp/runtimeconfig/variable.py +10 -0
  203. pulumi_gcp/saasruntime/__init__.py +12 -0
  204. pulumi_gcp/saasruntime/_inputs.py +513 -0
  205. pulumi_gcp/saasruntime/outputs.py +431 -0
  206. pulumi_gcp/saasruntime/saa_s.py +819 -0
  207. pulumi_gcp/saasruntime/unit_kind.py +1024 -0
  208. pulumi_gcp/securesourcemanager/_inputs.py +20 -19
  209. pulumi_gcp/securesourcemanager/instance.py +7 -7
  210. pulumi_gcp/securesourcemanager/outputs.py +15 -14
  211. pulumi_gcp/securesourcemanager/repository.py +7 -7
  212. pulumi_gcp/serviceaccount/get_account_key.py +1 -21
  213. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  214. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  215. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  216. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  217. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  218. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  219. pulumi_gcp/sql/_inputs.py +135 -1
  220. pulumi_gcp/sql/database_instance.py +94 -0
  221. pulumi_gcp/sql/get_database_instance.py +23 -1
  222. pulumi_gcp/sql/outputs.py +276 -3
  223. pulumi_gcp/sql/user.py +61 -0
  224. pulumi_gcp/storage/_inputs.py +253 -7
  225. pulumi_gcp/storage/bucket_object.py +0 -9
  226. pulumi_gcp/storage/outputs.py +198 -8
  227. pulumi_gcp/storage/transfer_job.py +47 -0
  228. pulumi_gcp/tpu/__init__.py +0 -2
  229. pulumi_gcp/tpu/_inputs.py +0 -93
  230. pulumi_gcp/tpu/outputs.py +0 -72
  231. pulumi_gcp/tpu/v2_queued_resource.py +16 -0
  232. pulumi_gcp/tpu/v2_vm.py +16 -0
  233. pulumi_gcp/vertex/_inputs.py +8 -9
  234. pulumi_gcp/vertex/ai_endpoint.py +2 -4
  235. pulumi_gcp/vertex/ai_feature_group_iam_binding.py +236 -0
  236. pulumi_gcp/vertex/ai_feature_group_iam_member.py +236 -0
  237. pulumi_gcp/vertex/ai_feature_group_iam_policy.py +236 -0
  238. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
  239. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_binding.py +248 -0
  240. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_member.py +248 -0
  241. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_policy.py +248 -0
  242. pulumi_gcp/vertex/ai_feature_online_store_iam_binding.py +236 -0
  243. pulumi_gcp/vertex/ai_feature_online_store_iam_member.py +236 -0
  244. pulumi_gcp/vertex/ai_feature_online_store_iam_policy.py +236 -0
  245. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +238 -0
  246. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +238 -0
  247. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +238 -0
  248. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +248 -0
  249. pulumi_gcp/vertex/ai_feature_store_iam_member.py +248 -0
  250. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +248 -0
  251. pulumi_gcp/vertex/ai_index.py +24 -23
  252. pulumi_gcp/vertex/ai_metadata_store.py +16 -0
  253. pulumi_gcp/vertex/outputs.py +7 -8
  254. pulumi_gcp/workstations/workstation.py +16 -0
  255. pulumi_gcp/workstations/workstation_cluster.py +16 -0
  256. pulumi_gcp/workstations/workstation_config.py +16 -0
  257. pulumi_gcp/workstations/workstation_config_iam_binding.py +260 -0
  258. pulumi_gcp/workstations/workstation_config_iam_member.py +260 -0
  259. pulumi_gcp/workstations/workstation_config_iam_policy.py +260 -0
  260. pulumi_gcp/workstations/workstation_iam_binding.py +272 -0
  261. pulumi_gcp/workstations/workstation_iam_member.py +272 -0
  262. pulumi_gcp/workstations/workstation_iam_policy.py +272 -0
  263. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0.dist-info}/METADATA +1 -1
  264. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0.dist-info}/RECORD +266 -255
  265. pulumi_gcp/beyondcorp/application.py +0 -746
  266. pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
  267. pulumi_gcp/notebooks/location.py +0 -285
  268. pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
  269. pulumi_gcp/tpu/node.py +0 -1062
  270. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0.dist-info}/WHEEL +0 -0
  271. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0.dist-info}/top_level.txt +0 -0
@@ -276,6 +276,238 @@ class WorkloadIdentityPoolIamBinding(pulumi.CustomResource):
276
276
  workload_identity_pool_id: Optional[pulumi.Input[_builtins.str]] = None,
277
277
  __props__=None):
278
278
  """
279
+ Three different resources help you manage your IAM policy for Cloud IAM WorkloadIdentityPool. Each of these resources serves a different use case:
280
+
281
+ * `iam.WorkloadIdentityPoolIamPolicy`: Authoritative. Sets the IAM policy for the workloadidentitypool and replaces any existing policy already attached.
282
+ * `iam.WorkloadIdentityPoolIamBinding`: 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 workloadidentitypool are preserved.
283
+ * `iam.WorkloadIdentityPoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workloadidentitypool are preserved.
284
+
285
+ A data source can be used to retrieve policy data in advent you do not need creation
286
+
287
+ * `iam.WorkloadIdentityPoolIamPolicy`: Retrieves the IAM policy for the workloadidentitypool
288
+
289
+ > **Note:** `iam.WorkloadIdentityPoolIamPolicy` **cannot** be used in conjunction with `iam.WorkloadIdentityPoolIamBinding` and `iam.WorkloadIdentityPoolIamMember` or they will fight over what your policy should be.
290
+
291
+ > **Note:** `iam.WorkloadIdentityPoolIamBinding` resources **can be** used in conjunction with `iam.WorkloadIdentityPoolIamMember` resources **only if** they do not grant privilege to the same role.
292
+
293
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
294
+
295
+ ## iam.WorkloadIdentityPoolIamPolicy
296
+
297
+ ```python
298
+ import pulumi
299
+ import pulumi_gcp as gcp
300
+
301
+ admin = gcp.organizations.get_iam_policy(bindings=[{
302
+ "role": "roles/iam.workloadIdentityPoolViewer",
303
+ "members": ["user:jane@example.com"],
304
+ }])
305
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
306
+ project=example["project"],
307
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
308
+ policy_data=admin.policy_data)
309
+ ```
310
+
311
+ With IAM Conditions:
312
+
313
+ ```python
314
+ import pulumi
315
+ import pulumi_gcp as gcp
316
+
317
+ admin = gcp.organizations.get_iam_policy(bindings=[{
318
+ "role": "roles/iam.workloadIdentityPoolViewer",
319
+ "members": ["user:jane@example.com"],
320
+ "condition": {
321
+ "title": "expires_after_2019_12_31",
322
+ "description": "Expiring at midnight of 2019-12-31",
323
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
324
+ },
325
+ }])
326
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
327
+ project=example["project"],
328
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
329
+ policy_data=admin.policy_data)
330
+ ```
331
+ ## iam.WorkloadIdentityPoolIamBinding
332
+
333
+ ```python
334
+ import pulumi
335
+ import pulumi_gcp as gcp
336
+
337
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
338
+ project=example["project"],
339
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
340
+ role="roles/iam.workloadIdentityPoolViewer",
341
+ members=["user:jane@example.com"])
342
+ ```
343
+
344
+ With IAM Conditions:
345
+
346
+ ```python
347
+ import pulumi
348
+ import pulumi_gcp as gcp
349
+
350
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
351
+ project=example["project"],
352
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
353
+ role="roles/iam.workloadIdentityPoolViewer",
354
+ members=["user:jane@example.com"],
355
+ condition={
356
+ "title": "expires_after_2019_12_31",
357
+ "description": "Expiring at midnight of 2019-12-31",
358
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
359
+ })
360
+ ```
361
+ ## iam.WorkloadIdentityPoolIamMember
362
+
363
+ ```python
364
+ import pulumi
365
+ import pulumi_gcp as gcp
366
+
367
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
368
+ project=example["project"],
369
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
370
+ role="roles/iam.workloadIdentityPoolViewer",
371
+ member="user:jane@example.com")
372
+ ```
373
+
374
+ With IAM Conditions:
375
+
376
+ ```python
377
+ import pulumi
378
+ import pulumi_gcp as gcp
379
+
380
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
381
+ project=example["project"],
382
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
383
+ role="roles/iam.workloadIdentityPoolViewer",
384
+ member="user:jane@example.com",
385
+ condition={
386
+ "title": "expires_after_2019_12_31",
387
+ "description": "Expiring at midnight of 2019-12-31",
388
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
389
+ })
390
+ ```
391
+
392
+ ## This resource supports User Project Overrides.
393
+
394
+ -
395
+
396
+ # IAM policy for Cloud IAM WorkloadIdentityPool
397
+
398
+ Three different resources help you manage your IAM policy for Cloud IAM WorkloadIdentityPool. Each of these resources serves a different use case:
399
+
400
+ * `iam.WorkloadIdentityPoolIamPolicy`: Authoritative. Sets the IAM policy for the workloadidentitypool and replaces any existing policy already attached.
401
+ * `iam.WorkloadIdentityPoolIamBinding`: 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 workloadidentitypool are preserved.
402
+ * `iam.WorkloadIdentityPoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workloadidentitypool are preserved.
403
+
404
+ A data source can be used to retrieve policy data in advent you do not need creation
405
+
406
+ * `iam.WorkloadIdentityPoolIamPolicy`: Retrieves the IAM policy for the workloadidentitypool
407
+
408
+ > **Note:** `iam.WorkloadIdentityPoolIamPolicy` **cannot** be used in conjunction with `iam.WorkloadIdentityPoolIamBinding` and `iam.WorkloadIdentityPoolIamMember` or they will fight over what your policy should be.
409
+
410
+ > **Note:** `iam.WorkloadIdentityPoolIamBinding` resources **can be** used in conjunction with `iam.WorkloadIdentityPoolIamMember` resources **only if** they do not grant privilege to the same role.
411
+
412
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
413
+
414
+ ## iam.WorkloadIdentityPoolIamPolicy
415
+
416
+ ```python
417
+ import pulumi
418
+ import pulumi_gcp as gcp
419
+
420
+ admin = gcp.organizations.get_iam_policy(bindings=[{
421
+ "role": "roles/iam.workloadIdentityPoolViewer",
422
+ "members": ["user:jane@example.com"],
423
+ }])
424
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
425
+ project=example["project"],
426
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
427
+ policy_data=admin.policy_data)
428
+ ```
429
+
430
+ With IAM Conditions:
431
+
432
+ ```python
433
+ import pulumi
434
+ import pulumi_gcp as gcp
435
+
436
+ admin = gcp.organizations.get_iam_policy(bindings=[{
437
+ "role": "roles/iam.workloadIdentityPoolViewer",
438
+ "members": ["user:jane@example.com"],
439
+ "condition": {
440
+ "title": "expires_after_2019_12_31",
441
+ "description": "Expiring at midnight of 2019-12-31",
442
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
443
+ },
444
+ }])
445
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
446
+ project=example["project"],
447
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
448
+ policy_data=admin.policy_data)
449
+ ```
450
+ ## iam.WorkloadIdentityPoolIamBinding
451
+
452
+ ```python
453
+ import pulumi
454
+ import pulumi_gcp as gcp
455
+
456
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
457
+ project=example["project"],
458
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
459
+ role="roles/iam.workloadIdentityPoolViewer",
460
+ members=["user:jane@example.com"])
461
+ ```
462
+
463
+ With IAM Conditions:
464
+
465
+ ```python
466
+ import pulumi
467
+ import pulumi_gcp as gcp
468
+
469
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
470
+ project=example["project"],
471
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
472
+ role="roles/iam.workloadIdentityPoolViewer",
473
+ members=["user:jane@example.com"],
474
+ condition={
475
+ "title": "expires_after_2019_12_31",
476
+ "description": "Expiring at midnight of 2019-12-31",
477
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
478
+ })
479
+ ```
480
+ ## iam.WorkloadIdentityPoolIamMember
481
+
482
+ ```python
483
+ import pulumi
484
+ import pulumi_gcp as gcp
485
+
486
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
487
+ project=example["project"],
488
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
489
+ role="roles/iam.workloadIdentityPoolViewer",
490
+ member="user:jane@example.com")
491
+ ```
492
+
493
+ With IAM Conditions:
494
+
495
+ ```python
496
+ import pulumi
497
+ import pulumi_gcp as gcp
498
+
499
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
500
+ project=example["project"],
501
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
502
+ role="roles/iam.workloadIdentityPoolViewer",
503
+ member="user:jane@example.com",
504
+ condition={
505
+ "title": "expires_after_2019_12_31",
506
+ "description": "Expiring at midnight of 2019-12-31",
507
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
508
+ })
509
+ ```
510
+
279
511
  ## Import
280
512
 
281
513
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -341,6 +573,238 @@ class WorkloadIdentityPoolIamBinding(pulumi.CustomResource):
341
573
  args: WorkloadIdentityPoolIamBindingArgs,
342
574
  opts: Optional[pulumi.ResourceOptions] = None):
343
575
  """
576
+ Three different resources help you manage your IAM policy for Cloud IAM WorkloadIdentityPool. Each of these resources serves a different use case:
577
+
578
+ * `iam.WorkloadIdentityPoolIamPolicy`: Authoritative. Sets the IAM policy for the workloadidentitypool and replaces any existing policy already attached.
579
+ * `iam.WorkloadIdentityPoolIamBinding`: 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 workloadidentitypool are preserved.
580
+ * `iam.WorkloadIdentityPoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workloadidentitypool are preserved.
581
+
582
+ A data source can be used to retrieve policy data in advent you do not need creation
583
+
584
+ * `iam.WorkloadIdentityPoolIamPolicy`: Retrieves the IAM policy for the workloadidentitypool
585
+
586
+ > **Note:** `iam.WorkloadIdentityPoolIamPolicy` **cannot** be used in conjunction with `iam.WorkloadIdentityPoolIamBinding` and `iam.WorkloadIdentityPoolIamMember` or they will fight over what your policy should be.
587
+
588
+ > **Note:** `iam.WorkloadIdentityPoolIamBinding` resources **can be** used in conjunction with `iam.WorkloadIdentityPoolIamMember` resources **only if** they do not grant privilege to the same role.
589
+
590
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
591
+
592
+ ## iam.WorkloadIdentityPoolIamPolicy
593
+
594
+ ```python
595
+ import pulumi
596
+ import pulumi_gcp as gcp
597
+
598
+ admin = gcp.organizations.get_iam_policy(bindings=[{
599
+ "role": "roles/iam.workloadIdentityPoolViewer",
600
+ "members": ["user:jane@example.com"],
601
+ }])
602
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
603
+ project=example["project"],
604
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
605
+ policy_data=admin.policy_data)
606
+ ```
607
+
608
+ With IAM Conditions:
609
+
610
+ ```python
611
+ import pulumi
612
+ import pulumi_gcp as gcp
613
+
614
+ admin = gcp.organizations.get_iam_policy(bindings=[{
615
+ "role": "roles/iam.workloadIdentityPoolViewer",
616
+ "members": ["user:jane@example.com"],
617
+ "condition": {
618
+ "title": "expires_after_2019_12_31",
619
+ "description": "Expiring at midnight of 2019-12-31",
620
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
621
+ },
622
+ }])
623
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
624
+ project=example["project"],
625
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
626
+ policy_data=admin.policy_data)
627
+ ```
628
+ ## iam.WorkloadIdentityPoolIamBinding
629
+
630
+ ```python
631
+ import pulumi
632
+ import pulumi_gcp as gcp
633
+
634
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
635
+ project=example["project"],
636
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
637
+ role="roles/iam.workloadIdentityPoolViewer",
638
+ members=["user:jane@example.com"])
639
+ ```
640
+
641
+ With IAM Conditions:
642
+
643
+ ```python
644
+ import pulumi
645
+ import pulumi_gcp as gcp
646
+
647
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
648
+ project=example["project"],
649
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
650
+ role="roles/iam.workloadIdentityPoolViewer",
651
+ members=["user:jane@example.com"],
652
+ condition={
653
+ "title": "expires_after_2019_12_31",
654
+ "description": "Expiring at midnight of 2019-12-31",
655
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
656
+ })
657
+ ```
658
+ ## iam.WorkloadIdentityPoolIamMember
659
+
660
+ ```python
661
+ import pulumi
662
+ import pulumi_gcp as gcp
663
+
664
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
665
+ project=example["project"],
666
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
667
+ role="roles/iam.workloadIdentityPoolViewer",
668
+ member="user:jane@example.com")
669
+ ```
670
+
671
+ With IAM Conditions:
672
+
673
+ ```python
674
+ import pulumi
675
+ import pulumi_gcp as gcp
676
+
677
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
678
+ project=example["project"],
679
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
680
+ role="roles/iam.workloadIdentityPoolViewer",
681
+ member="user:jane@example.com",
682
+ condition={
683
+ "title": "expires_after_2019_12_31",
684
+ "description": "Expiring at midnight of 2019-12-31",
685
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
686
+ })
687
+ ```
688
+
689
+ ## This resource supports User Project Overrides.
690
+
691
+ -
692
+
693
+ # IAM policy for Cloud IAM WorkloadIdentityPool
694
+
695
+ Three different resources help you manage your IAM policy for Cloud IAM WorkloadIdentityPool. Each of these resources serves a different use case:
696
+
697
+ * `iam.WorkloadIdentityPoolIamPolicy`: Authoritative. Sets the IAM policy for the workloadidentitypool and replaces any existing policy already attached.
698
+ * `iam.WorkloadIdentityPoolIamBinding`: 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 workloadidentitypool are preserved.
699
+ * `iam.WorkloadIdentityPoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workloadidentitypool are preserved.
700
+
701
+ A data source can be used to retrieve policy data in advent you do not need creation
702
+
703
+ * `iam.WorkloadIdentityPoolIamPolicy`: Retrieves the IAM policy for the workloadidentitypool
704
+
705
+ > **Note:** `iam.WorkloadIdentityPoolIamPolicy` **cannot** be used in conjunction with `iam.WorkloadIdentityPoolIamBinding` and `iam.WorkloadIdentityPoolIamMember` or they will fight over what your policy should be.
706
+
707
+ > **Note:** `iam.WorkloadIdentityPoolIamBinding` resources **can be** used in conjunction with `iam.WorkloadIdentityPoolIamMember` resources **only if** they do not grant privilege to the same role.
708
+
709
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
710
+
711
+ ## iam.WorkloadIdentityPoolIamPolicy
712
+
713
+ ```python
714
+ import pulumi
715
+ import pulumi_gcp as gcp
716
+
717
+ admin = gcp.organizations.get_iam_policy(bindings=[{
718
+ "role": "roles/iam.workloadIdentityPoolViewer",
719
+ "members": ["user:jane@example.com"],
720
+ }])
721
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
722
+ project=example["project"],
723
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
724
+ policy_data=admin.policy_data)
725
+ ```
726
+
727
+ With IAM Conditions:
728
+
729
+ ```python
730
+ import pulumi
731
+ import pulumi_gcp as gcp
732
+
733
+ admin = gcp.organizations.get_iam_policy(bindings=[{
734
+ "role": "roles/iam.workloadIdentityPoolViewer",
735
+ "members": ["user:jane@example.com"],
736
+ "condition": {
737
+ "title": "expires_after_2019_12_31",
738
+ "description": "Expiring at midnight of 2019-12-31",
739
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
740
+ },
741
+ }])
742
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
743
+ project=example["project"],
744
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
745
+ policy_data=admin.policy_data)
746
+ ```
747
+ ## iam.WorkloadIdentityPoolIamBinding
748
+
749
+ ```python
750
+ import pulumi
751
+ import pulumi_gcp as gcp
752
+
753
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
754
+ project=example["project"],
755
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
756
+ role="roles/iam.workloadIdentityPoolViewer",
757
+ members=["user:jane@example.com"])
758
+ ```
759
+
760
+ With IAM Conditions:
761
+
762
+ ```python
763
+ import pulumi
764
+ import pulumi_gcp as gcp
765
+
766
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
767
+ project=example["project"],
768
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
769
+ role="roles/iam.workloadIdentityPoolViewer",
770
+ members=["user:jane@example.com"],
771
+ condition={
772
+ "title": "expires_after_2019_12_31",
773
+ "description": "Expiring at midnight of 2019-12-31",
774
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
775
+ })
776
+ ```
777
+ ## iam.WorkloadIdentityPoolIamMember
778
+
779
+ ```python
780
+ import pulumi
781
+ import pulumi_gcp as gcp
782
+
783
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
784
+ project=example["project"],
785
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
786
+ role="roles/iam.workloadIdentityPoolViewer",
787
+ member="user:jane@example.com")
788
+ ```
789
+
790
+ With IAM Conditions:
791
+
792
+ ```python
793
+ import pulumi
794
+ import pulumi_gcp as gcp
795
+
796
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
797
+ project=example["project"],
798
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
799
+ role="roles/iam.workloadIdentityPoolViewer",
800
+ member="user:jane@example.com",
801
+ condition={
802
+ "title": "expires_after_2019_12_31",
803
+ "description": "Expiring at midnight of 2019-12-31",
804
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
805
+ })
806
+ ```
807
+
344
808
  ## Import
345
809
 
346
810
  For all import syntaxes, the "resource in question" can take any of the following forms: