pulumi-gcp 9.0.0a1__py3-none-any.whl → 9.0.0a1758219982__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 (209) hide show
  1. pulumi_gcp/__init__.py +48 -0
  2. pulumi_gcp/activedirectory/peering.py +16 -0
  3. pulumi_gcp/apigateway/api_config_iam_binding.py +4 -4
  4. pulumi_gcp/apigateway/api_config_iam_member.py +4 -4
  5. pulumi_gcp/apigateway/api_config_iam_policy.py +4 -4
  6. pulumi_gcp/apigateway/api_iam_binding.py +4 -4
  7. pulumi_gcp/apigateway/api_iam_member.py +4 -4
  8. pulumi_gcp/apigateway/api_iam_policy.py +4 -4
  9. pulumi_gcp/apigateway/gateway_iam_binding.py +4 -4
  10. pulumi_gcp/apigateway/gateway_iam_member.py +4 -4
  11. pulumi_gcp/apigateway/gateway_iam_policy.py +4 -4
  12. pulumi_gcp/artifactregistry/__init__.py +1 -0
  13. pulumi_gcp/artifactregistry/get_python_package.py +237 -0
  14. pulumi_gcp/artifactregistry/get_repository.py +12 -1
  15. pulumi_gcp/artifactregistry/repository.py +28 -0
  16. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  17. pulumi_gcp/backupdisasterrecovery/backup_plan.py +4 -4
  18. pulumi_gcp/backupdisasterrecovery/get_backup.py +12 -1
  19. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +4 -0
  20. pulumi_gcp/backupdisasterrecovery/get_data_source_references.py +135 -0
  21. pulumi_gcp/backupdisasterrecovery/get_management_server.py +4 -0
  22. pulumi_gcp/backupdisasterrecovery/outputs.py +103 -0
  23. pulumi_gcp/bigquery/app_profile.py +14 -49
  24. pulumi_gcp/bigquery/dataset_access.py +4 -8
  25. pulumi_gcp/bigquery/table.py +7 -21
  26. pulumi_gcp/bigqueryanalyticshub/data_exchange_subscription.py +20 -0
  27. pulumi_gcp/bigtable/app_profile.py +14 -49
  28. pulumi_gcp/bigtable/table.py +42 -42
  29. pulumi_gcp/certificatemanager/certificate_map_entry.py +7 -7
  30. pulumi_gcp/chronicle/_inputs.py +6 -5
  31. pulumi_gcp/chronicle/outputs.py +4 -3
  32. pulumi_gcp/chronicle/reference_list.py +53 -5
  33. pulumi_gcp/cloudasset/get_resources_search_all.py +8 -0
  34. pulumi_gcp/cloudbuild/_inputs.py +20 -0
  35. pulumi_gcp/cloudbuild/outputs.py +14 -0
  36. pulumi_gcp/cloudbuild/trigger.py +4 -2
  37. pulumi_gcp/cloudbuild/worker_pool.py +28 -21
  38. pulumi_gcp/cloudfunctions/function.py +4 -8
  39. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +16 -0
  40. pulumi_gcp/cloudrunv2/_inputs.py +57 -0
  41. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  42. pulumi_gcp/cloudrunv2/outputs.py +81 -0
  43. pulumi_gcp/cloudrunv2/service.py +54 -0
  44. pulumi_gcp/cloudrunv2/worker_pool.py +2 -2
  45. pulumi_gcp/composer/environment.py +28 -49
  46. pulumi_gcp/compute/_inputs.py +804 -24
  47. pulumi_gcp/compute/backend_bucket.py +14 -0
  48. pulumi_gcp/compute/backend_bucket_iam_binding.py +236 -0
  49. pulumi_gcp/compute/backend_bucket_iam_member.py +236 -0
  50. pulumi_gcp/compute/backend_bucket_iam_policy.py +236 -0
  51. pulumi_gcp/compute/backend_service_iam_binding.py +464 -0
  52. pulumi_gcp/compute/backend_service_iam_member.py +464 -0
  53. pulumi_gcp/compute/backend_service_iam_policy.py +464 -0
  54. pulumi_gcp/compute/cross_site_network.py +16 -0
  55. pulumi_gcp/compute/future_reservation.py +32 -0
  56. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  57. pulumi_gcp/compute/get_resource_policy.py +2 -20
  58. pulumi_gcp/compute/instance_from_machine_image.py +75 -110
  59. pulumi_gcp/compute/instance_from_template.py +75 -110
  60. pulumi_gcp/compute/instance_group_manager.py +7 -14
  61. pulumi_gcp/compute/instance_template.py +7 -14
  62. pulumi_gcp/compute/interconnect.py +4 -8
  63. pulumi_gcp/compute/machine_image_iam_binding.py +8 -4
  64. pulumi_gcp/compute/machine_image_iam_member.py +8 -4
  65. pulumi_gcp/compute/machine_image_iam_policy.py +8 -4
  66. pulumi_gcp/compute/network_edge_security_service.py +16 -0
  67. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +12 -0
  68. pulumi_gcp/compute/outputs.py +671 -16
  69. pulumi_gcp/compute/preview_feature.py +16 -0
  70. pulumi_gcp/compute/public_delegated_prefix.py +42 -0
  71. pulumi_gcp/compute/region_backend_service.py +54 -0
  72. pulumi_gcp/compute/region_backend_service_iam_binding.py +488 -0
  73. pulumi_gcp/compute/region_backend_service_iam_member.py +488 -0
  74. pulumi_gcp/compute/region_backend_service_iam_policy.py +488 -0
  75. pulumi_gcp/compute/region_instance_group_manager.py +7 -14
  76. pulumi_gcp/compute/region_network_endpoint_group.py +1 -3
  77. pulumi_gcp/compute/region_resize_request.py +24 -0
  78. pulumi_gcp/compute/region_url_map.py +75 -0
  79. pulumi_gcp/compute/wire_group.py +16 -0
  80. pulumi_gcp/container/_inputs.py +446 -18
  81. pulumi_gcp/container/aws_cluster.py +28 -42
  82. pulumi_gcp/container/aws_node_pool.py +28 -42
  83. pulumi_gcp/container/azure_cluster.py +35 -70
  84. pulumi_gcp/container/azure_node_pool.py +28 -42
  85. pulumi_gcp/container/cluster.py +16 -7
  86. pulumi_gcp/container/outputs.py +423 -15
  87. pulumi_gcp/dataflow/flex_template_job.py +10 -0
  88. pulumi_gcp/dataform/repository.py +16 -0
  89. pulumi_gcp/dataform/repository_release_config.py +16 -0
  90. pulumi_gcp/dataform/repository_workflow_config.py +16 -0
  91. pulumi_gcp/dataplex/asset.py +28 -21
  92. pulumi_gcp/dataplex/zone.py +28 -21
  93. pulumi_gcp/dataproc/cluster.py +21 -14
  94. pulumi_gcp/dataproc/workflow_template.py +42 -105
  95. pulumi_gcp/discoveryengine/__init__.py +1 -0
  96. pulumi_gcp/discoveryengine/_inputs.py +94 -0
  97. pulumi_gcp/discoveryengine/acl_config.py +393 -0
  98. pulumi_gcp/discoveryengine/outputs.py +92 -0
  99. pulumi_gcp/firebase/android_app.py +16 -0
  100. pulumi_gcp/firebase/apple_app.py +16 -0
  101. pulumi_gcp/firebase/database_instance.py +16 -0
  102. pulumi_gcp/firebase/extensions_instance.py +12 -0
  103. pulumi_gcp/firebase/get_android_app.py +4 -2
  104. pulumi_gcp/firebase/get_apple_app.py +4 -2
  105. pulumi_gcp/firebase/get_apple_app_config.py +16 -2
  106. pulumi_gcp/firebase/get_hosting_channel.py +4 -2
  107. pulumi_gcp/firebase/hosting_channel.py +20 -0
  108. pulumi_gcp/firebase/hosting_custom_domain.py +20 -0
  109. pulumi_gcp/firebase/hosting_release.py +16 -0
  110. pulumi_gcp/firebase/hosting_site.py +16 -0
  111. pulumi_gcp/firebase/hosting_version.py +16 -0
  112. pulumi_gcp/firebase/storage_bucket.py +18 -0
  113. pulumi_gcp/firestore/index.py +118 -3
  114. pulumi_gcp/folder/service_identity.py +26 -0
  115. pulumi_gcp/gkehub/membership_rbac_role_binding.py +16 -0
  116. pulumi_gcp/healthcare/_inputs.py +205 -0
  117. pulumi_gcp/healthcare/fhir_store.py +128 -0
  118. pulumi_gcp/healthcare/outputs.py +163 -0
  119. pulumi_gcp/iam/workload_identity_pool_iam_binding.py +464 -0
  120. pulumi_gcp/iam/workload_identity_pool_iam_member.py +464 -0
  121. pulumi_gcp/iam/workload_identity_pool_iam_policy.py +464 -0
  122. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +18 -0
  123. pulumi_gcp/iam/workload_identity_pool_namespace.py +20 -0
  124. pulumi_gcp/iap/__init__.py +4 -0
  125. pulumi_gcp/iap/_inputs.py +130 -0
  126. pulumi_gcp/iap/get_web_forwarding_rule_service_iam_policy.py +159 -0
  127. pulumi_gcp/iap/outputs.py +76 -0
  128. pulumi_gcp/iap/web_forwarding_rule_service_iam_binding.py +1002 -0
  129. pulumi_gcp/iap/web_forwarding_rule_service_iam_member.py +1002 -0
  130. pulumi_gcp/iap/web_forwarding_rule_service_iam_policy.py +821 -0
  131. pulumi_gcp/kms/get_kms_secret_asymmetric.py +22 -0
  132. pulumi_gcp/logging/billing_account_bucket_config.py +7 -21
  133. pulumi_gcp/logging/folder_bucket_config.py +7 -21
  134. pulumi_gcp/logging/organization_bucket_config.py +7 -21
  135. pulumi_gcp/logging/organization_sink.py +7 -7
  136. pulumi_gcp/managedkafka/connect_cluster.py +4 -0
  137. pulumi_gcp/managedkafka/connector.py +4 -0
  138. pulumi_gcp/memorystore/instance.py +14 -14
  139. pulumi_gcp/monitoring/dashboard.py +7 -14
  140. pulumi_gcp/netapp/storage_pool.py +91 -2
  141. pulumi_gcp/netapp/volume.py +47 -0
  142. pulumi_gcp/networkmanagement/__init__.py +1 -0
  143. pulumi_gcp/networkmanagement/organization_vpc_flow_logs_config.py +1028 -0
  144. pulumi_gcp/networksecurity/authorization_policy.py +12 -0
  145. pulumi_gcp/networkservices/gateway.py +7 -7
  146. pulumi_gcp/networkservices/service_lb_policies.py +12 -0
  147. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  148. pulumi_gcp/organizations/project.py +7 -21
  149. pulumi_gcp/projects/service.py +0 -7
  150. pulumi_gcp/pulumi-plugin.json +1 -1
  151. pulumi_gcp/resourcemanager/capability.py +16 -0
  152. pulumi_gcp/runtimeconfig/config.py +16 -0
  153. pulumi_gcp/runtimeconfig/config_iam_binding.py +236 -0
  154. pulumi_gcp/runtimeconfig/config_iam_member.py +236 -0
  155. pulumi_gcp/runtimeconfig/config_iam_policy.py +236 -0
  156. pulumi_gcp/runtimeconfig/variable.py +10 -0
  157. pulumi_gcp/saasruntime/__init__.py +1 -0
  158. pulumi_gcp/saasruntime/_inputs.py +458 -0
  159. pulumi_gcp/saasruntime/outputs.py +392 -0
  160. pulumi_gcp/saasruntime/saa_s.py +4 -0
  161. pulumi_gcp/saasruntime/unit_kind.py +1024 -0
  162. pulumi_gcp/securesourcemanager/instance.py +7 -7
  163. pulumi_gcp/securesourcemanager/repository.py +7 -7
  164. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  165. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  166. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  167. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  168. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  169. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  170. pulumi_gcp/sql/_inputs.py +135 -1
  171. pulumi_gcp/sql/database_instance.py +54 -14
  172. pulumi_gcp/sql/get_database_instance.py +12 -1
  173. pulumi_gcp/sql/outputs.py +265 -3
  174. pulumi_gcp/storage/_inputs.py +246 -0
  175. pulumi_gcp/storage/bucket.py +7 -14
  176. pulumi_gcp/storage/bucket_object.py +0 -9
  177. pulumi_gcp/storage/outputs.py +191 -1
  178. pulumi_gcp/storage/transfer_job.py +47 -0
  179. pulumi_gcp/tpu/v2_queued_resource.py +16 -0
  180. pulumi_gcp/tpu/v2_vm.py +16 -0
  181. pulumi_gcp/vertex/ai_feature_group_iam_binding.py +236 -0
  182. pulumi_gcp/vertex/ai_feature_group_iam_member.py +236 -0
  183. pulumi_gcp/vertex/ai_feature_group_iam_policy.py +236 -0
  184. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_binding.py +248 -0
  185. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_member.py +248 -0
  186. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_policy.py +248 -0
  187. pulumi_gcp/vertex/ai_feature_online_store_iam_binding.py +236 -0
  188. pulumi_gcp/vertex/ai_feature_online_store_iam_member.py +236 -0
  189. pulumi_gcp/vertex/ai_feature_online_store_iam_policy.py +236 -0
  190. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +238 -0
  191. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +238 -0
  192. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +238 -0
  193. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +248 -0
  194. pulumi_gcp/vertex/ai_feature_store_iam_member.py +248 -0
  195. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +248 -0
  196. pulumi_gcp/vertex/ai_metadata_store.py +16 -0
  197. pulumi_gcp/workstations/workstation.py +16 -0
  198. pulumi_gcp/workstations/workstation_cluster.py +16 -0
  199. pulumi_gcp/workstations/workstation_config.py +16 -0
  200. pulumi_gcp/workstations/workstation_config_iam_binding.py +260 -0
  201. pulumi_gcp/workstations/workstation_config_iam_member.py +260 -0
  202. pulumi_gcp/workstations/workstation_config_iam_policy.py +260 -0
  203. pulumi_gcp/workstations/workstation_iam_binding.py +272 -0
  204. pulumi_gcp/workstations/workstation_iam_member.py +272 -0
  205. pulumi_gcp/workstations/workstation_iam_policy.py +272 -0
  206. {pulumi_gcp-9.0.0a1.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/METADATA +1 -1
  207. {pulumi_gcp-9.0.0a1.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/RECORD +209 -200
  208. {pulumi_gcp-9.0.0a1.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/WHEEL +0 -0
  209. {pulumi_gcp-9.0.0a1.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/top_level.txt +0 -0
@@ -161,6 +161,238 @@ class WorkloadIdentityPoolIamPolicy(pulumi.CustomResource):
161
161
  workload_identity_pool_id: Optional[pulumi.Input[_builtins.str]] = None,
162
162
  __props__=None):
163
163
  """
164
+ Three different resources help you manage your IAM policy for Cloud IAM WorkloadIdentityPool. Each of these resources serves a different use case:
165
+
166
+ * `iam.WorkloadIdentityPoolIamPolicy`: Authoritative. Sets the IAM policy for the workloadidentitypool and replaces any existing policy already attached.
167
+ * `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.
168
+ * `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.
169
+
170
+ A data source can be used to retrieve policy data in advent you do not need creation
171
+
172
+ * `iam.WorkloadIdentityPoolIamPolicy`: Retrieves the IAM policy for the workloadidentitypool
173
+
174
+ > **Note:** `iam.WorkloadIdentityPoolIamPolicy` **cannot** be used in conjunction with `iam.WorkloadIdentityPoolIamBinding` and `iam.WorkloadIdentityPoolIamMember` or they will fight over what your policy should be.
175
+
176
+ > **Note:** `iam.WorkloadIdentityPoolIamBinding` resources **can be** used in conjunction with `iam.WorkloadIdentityPoolIamMember` resources **only if** they do not grant privilege to the same role.
177
+
178
+ > **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.
179
+
180
+ ## iam.WorkloadIdentityPoolIamPolicy
181
+
182
+ ```python
183
+ import pulumi
184
+ import pulumi_gcp as gcp
185
+
186
+ admin = gcp.organizations.get_iam_policy(bindings=[{
187
+ "role": "roles/iam.workloadIdentityPoolViewer",
188
+ "members": ["user:jane@example.com"],
189
+ }])
190
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
191
+ project=example["project"],
192
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
193
+ policy_data=admin.policy_data)
194
+ ```
195
+
196
+ With IAM Conditions:
197
+
198
+ ```python
199
+ import pulumi
200
+ import pulumi_gcp as gcp
201
+
202
+ admin = gcp.organizations.get_iam_policy(bindings=[{
203
+ "role": "roles/iam.workloadIdentityPoolViewer",
204
+ "members": ["user:jane@example.com"],
205
+ "condition": {
206
+ "title": "expires_after_2019_12_31",
207
+ "description": "Expiring at midnight of 2019-12-31",
208
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
209
+ },
210
+ }])
211
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
212
+ project=example["project"],
213
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
214
+ policy_data=admin.policy_data)
215
+ ```
216
+ ## iam.WorkloadIdentityPoolIamBinding
217
+
218
+ ```python
219
+ import pulumi
220
+ import pulumi_gcp as gcp
221
+
222
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
223
+ project=example["project"],
224
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
225
+ role="roles/iam.workloadIdentityPoolViewer",
226
+ members=["user:jane@example.com"])
227
+ ```
228
+
229
+ With IAM Conditions:
230
+
231
+ ```python
232
+ import pulumi
233
+ import pulumi_gcp as gcp
234
+
235
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
236
+ project=example["project"],
237
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
238
+ role="roles/iam.workloadIdentityPoolViewer",
239
+ members=["user:jane@example.com"],
240
+ condition={
241
+ "title": "expires_after_2019_12_31",
242
+ "description": "Expiring at midnight of 2019-12-31",
243
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
244
+ })
245
+ ```
246
+ ## iam.WorkloadIdentityPoolIamMember
247
+
248
+ ```python
249
+ import pulumi
250
+ import pulumi_gcp as gcp
251
+
252
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
253
+ project=example["project"],
254
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
255
+ role="roles/iam.workloadIdentityPoolViewer",
256
+ member="user:jane@example.com")
257
+ ```
258
+
259
+ With IAM Conditions:
260
+
261
+ ```python
262
+ import pulumi
263
+ import pulumi_gcp as gcp
264
+
265
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
266
+ project=example["project"],
267
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
268
+ role="roles/iam.workloadIdentityPoolViewer",
269
+ member="user:jane@example.com",
270
+ condition={
271
+ "title": "expires_after_2019_12_31",
272
+ "description": "Expiring at midnight of 2019-12-31",
273
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
274
+ })
275
+ ```
276
+
277
+ ## This resource supports User Project Overrides.
278
+
279
+ -
280
+
281
+ # IAM policy for Cloud IAM WorkloadIdentityPool
282
+
283
+ Three different resources help you manage your IAM policy for Cloud IAM WorkloadIdentityPool. Each of these resources serves a different use case:
284
+
285
+ * `iam.WorkloadIdentityPoolIamPolicy`: Authoritative. Sets the IAM policy for the workloadidentitypool and replaces any existing policy already attached.
286
+ * `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.
287
+ * `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.
288
+
289
+ A data source can be used to retrieve policy data in advent you do not need creation
290
+
291
+ * `iam.WorkloadIdentityPoolIamPolicy`: Retrieves the IAM policy for the workloadidentitypool
292
+
293
+ > **Note:** `iam.WorkloadIdentityPoolIamPolicy` **cannot** be used in conjunction with `iam.WorkloadIdentityPoolIamBinding` and `iam.WorkloadIdentityPoolIamMember` or they will fight over what your policy should be.
294
+
295
+ > **Note:** `iam.WorkloadIdentityPoolIamBinding` resources **can be** used in conjunction with `iam.WorkloadIdentityPoolIamMember` resources **only if** they do not grant privilege to the same role.
296
+
297
+ > **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.
298
+
299
+ ## iam.WorkloadIdentityPoolIamPolicy
300
+
301
+ ```python
302
+ import pulumi
303
+ import pulumi_gcp as gcp
304
+
305
+ admin = gcp.organizations.get_iam_policy(bindings=[{
306
+ "role": "roles/iam.workloadIdentityPoolViewer",
307
+ "members": ["user:jane@example.com"],
308
+ }])
309
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
310
+ project=example["project"],
311
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
312
+ policy_data=admin.policy_data)
313
+ ```
314
+
315
+ With IAM Conditions:
316
+
317
+ ```python
318
+ import pulumi
319
+ import pulumi_gcp as gcp
320
+
321
+ admin = gcp.organizations.get_iam_policy(bindings=[{
322
+ "role": "roles/iam.workloadIdentityPoolViewer",
323
+ "members": ["user:jane@example.com"],
324
+ "condition": {
325
+ "title": "expires_after_2019_12_31",
326
+ "description": "Expiring at midnight of 2019-12-31",
327
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
328
+ },
329
+ }])
330
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
331
+ project=example["project"],
332
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
333
+ policy_data=admin.policy_data)
334
+ ```
335
+ ## iam.WorkloadIdentityPoolIamBinding
336
+
337
+ ```python
338
+ import pulumi
339
+ import pulumi_gcp as gcp
340
+
341
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
342
+ project=example["project"],
343
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
344
+ role="roles/iam.workloadIdentityPoolViewer",
345
+ members=["user:jane@example.com"])
346
+ ```
347
+
348
+ With IAM Conditions:
349
+
350
+ ```python
351
+ import pulumi
352
+ import pulumi_gcp as gcp
353
+
354
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
355
+ project=example["project"],
356
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
357
+ role="roles/iam.workloadIdentityPoolViewer",
358
+ members=["user:jane@example.com"],
359
+ condition={
360
+ "title": "expires_after_2019_12_31",
361
+ "description": "Expiring at midnight of 2019-12-31",
362
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
363
+ })
364
+ ```
365
+ ## iam.WorkloadIdentityPoolIamMember
366
+
367
+ ```python
368
+ import pulumi
369
+ import pulumi_gcp as gcp
370
+
371
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
372
+ project=example["project"],
373
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
374
+ role="roles/iam.workloadIdentityPoolViewer",
375
+ member="user:jane@example.com")
376
+ ```
377
+
378
+ With IAM Conditions:
379
+
380
+ ```python
381
+ import pulumi
382
+ import pulumi_gcp as gcp
383
+
384
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
385
+ project=example["project"],
386
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
387
+ role="roles/iam.workloadIdentityPoolViewer",
388
+ member="user:jane@example.com",
389
+ condition={
390
+ "title": "expires_after_2019_12_31",
391
+ "description": "Expiring at midnight of 2019-12-31",
392
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
393
+ })
394
+ ```
395
+
164
396
  ## Import
165
397
 
166
398
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -212,6 +444,238 @@ class WorkloadIdentityPoolIamPolicy(pulumi.CustomResource):
212
444
  args: WorkloadIdentityPoolIamPolicyArgs,
213
445
  opts: Optional[pulumi.ResourceOptions] = None):
214
446
  """
447
+ Three different resources help you manage your IAM policy for Cloud IAM WorkloadIdentityPool. Each of these resources serves a different use case:
448
+
449
+ * `iam.WorkloadIdentityPoolIamPolicy`: Authoritative. Sets the IAM policy for the workloadidentitypool and replaces any existing policy already attached.
450
+ * `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.
451
+ * `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.
452
+
453
+ A data source can be used to retrieve policy data in advent you do not need creation
454
+
455
+ * `iam.WorkloadIdentityPoolIamPolicy`: Retrieves the IAM policy for the workloadidentitypool
456
+
457
+ > **Note:** `iam.WorkloadIdentityPoolIamPolicy` **cannot** be used in conjunction with `iam.WorkloadIdentityPoolIamBinding` and `iam.WorkloadIdentityPoolIamMember` or they will fight over what your policy should be.
458
+
459
+ > **Note:** `iam.WorkloadIdentityPoolIamBinding` resources **can be** used in conjunction with `iam.WorkloadIdentityPoolIamMember` resources **only if** they do not grant privilege to the same role.
460
+
461
+ > **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.
462
+
463
+ ## iam.WorkloadIdentityPoolIamPolicy
464
+
465
+ ```python
466
+ import pulumi
467
+ import pulumi_gcp as gcp
468
+
469
+ admin = gcp.organizations.get_iam_policy(bindings=[{
470
+ "role": "roles/iam.workloadIdentityPoolViewer",
471
+ "members": ["user:jane@example.com"],
472
+ }])
473
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
474
+ project=example["project"],
475
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
476
+ policy_data=admin.policy_data)
477
+ ```
478
+
479
+ With IAM Conditions:
480
+
481
+ ```python
482
+ import pulumi
483
+ import pulumi_gcp as gcp
484
+
485
+ admin = gcp.organizations.get_iam_policy(bindings=[{
486
+ "role": "roles/iam.workloadIdentityPoolViewer",
487
+ "members": ["user:jane@example.com"],
488
+ "condition": {
489
+ "title": "expires_after_2019_12_31",
490
+ "description": "Expiring at midnight of 2019-12-31",
491
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
492
+ },
493
+ }])
494
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
495
+ project=example["project"],
496
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
497
+ policy_data=admin.policy_data)
498
+ ```
499
+ ## iam.WorkloadIdentityPoolIamBinding
500
+
501
+ ```python
502
+ import pulumi
503
+ import pulumi_gcp as gcp
504
+
505
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
506
+ project=example["project"],
507
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
508
+ role="roles/iam.workloadIdentityPoolViewer",
509
+ members=["user:jane@example.com"])
510
+ ```
511
+
512
+ With IAM Conditions:
513
+
514
+ ```python
515
+ import pulumi
516
+ import pulumi_gcp as gcp
517
+
518
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
519
+ project=example["project"],
520
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
521
+ role="roles/iam.workloadIdentityPoolViewer",
522
+ members=["user:jane@example.com"],
523
+ condition={
524
+ "title": "expires_after_2019_12_31",
525
+ "description": "Expiring at midnight of 2019-12-31",
526
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
527
+ })
528
+ ```
529
+ ## iam.WorkloadIdentityPoolIamMember
530
+
531
+ ```python
532
+ import pulumi
533
+ import pulumi_gcp as gcp
534
+
535
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
536
+ project=example["project"],
537
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
538
+ role="roles/iam.workloadIdentityPoolViewer",
539
+ member="user:jane@example.com")
540
+ ```
541
+
542
+ With IAM Conditions:
543
+
544
+ ```python
545
+ import pulumi
546
+ import pulumi_gcp as gcp
547
+
548
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
549
+ project=example["project"],
550
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
551
+ role="roles/iam.workloadIdentityPoolViewer",
552
+ member="user:jane@example.com",
553
+ condition={
554
+ "title": "expires_after_2019_12_31",
555
+ "description": "Expiring at midnight of 2019-12-31",
556
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
557
+ })
558
+ ```
559
+
560
+ ## This resource supports User Project Overrides.
561
+
562
+ -
563
+
564
+ # IAM policy for Cloud IAM WorkloadIdentityPool
565
+
566
+ Three different resources help you manage your IAM policy for Cloud IAM WorkloadIdentityPool. Each of these resources serves a different use case:
567
+
568
+ * `iam.WorkloadIdentityPoolIamPolicy`: Authoritative. Sets the IAM policy for the workloadidentitypool and replaces any existing policy already attached.
569
+ * `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.
570
+ * `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.
571
+
572
+ A data source can be used to retrieve policy data in advent you do not need creation
573
+
574
+ * `iam.WorkloadIdentityPoolIamPolicy`: Retrieves the IAM policy for the workloadidentitypool
575
+
576
+ > **Note:** `iam.WorkloadIdentityPoolIamPolicy` **cannot** be used in conjunction with `iam.WorkloadIdentityPoolIamBinding` and `iam.WorkloadIdentityPoolIamMember` or they will fight over what your policy should be.
577
+
578
+ > **Note:** `iam.WorkloadIdentityPoolIamBinding` resources **can be** used in conjunction with `iam.WorkloadIdentityPoolIamMember` resources **only if** they do not grant privilege to the same role.
579
+
580
+ > **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.
581
+
582
+ ## iam.WorkloadIdentityPoolIamPolicy
583
+
584
+ ```python
585
+ import pulumi
586
+ import pulumi_gcp as gcp
587
+
588
+ admin = gcp.organizations.get_iam_policy(bindings=[{
589
+ "role": "roles/iam.workloadIdentityPoolViewer",
590
+ "members": ["user:jane@example.com"],
591
+ }])
592
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
593
+ project=example["project"],
594
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
595
+ policy_data=admin.policy_data)
596
+ ```
597
+
598
+ With IAM Conditions:
599
+
600
+ ```python
601
+ import pulumi
602
+ import pulumi_gcp as gcp
603
+
604
+ admin = gcp.organizations.get_iam_policy(bindings=[{
605
+ "role": "roles/iam.workloadIdentityPoolViewer",
606
+ "members": ["user:jane@example.com"],
607
+ "condition": {
608
+ "title": "expires_after_2019_12_31",
609
+ "description": "Expiring at midnight of 2019-12-31",
610
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
611
+ },
612
+ }])
613
+ policy = gcp.iam.WorkloadIdentityPoolIamPolicy("policy",
614
+ project=example["project"],
615
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
616
+ policy_data=admin.policy_data)
617
+ ```
618
+ ## iam.WorkloadIdentityPoolIamBinding
619
+
620
+ ```python
621
+ import pulumi
622
+ import pulumi_gcp as gcp
623
+
624
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
625
+ project=example["project"],
626
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
627
+ role="roles/iam.workloadIdentityPoolViewer",
628
+ members=["user:jane@example.com"])
629
+ ```
630
+
631
+ With IAM Conditions:
632
+
633
+ ```python
634
+ import pulumi
635
+ import pulumi_gcp as gcp
636
+
637
+ binding = gcp.iam.WorkloadIdentityPoolIamBinding("binding",
638
+ project=example["project"],
639
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
640
+ role="roles/iam.workloadIdentityPoolViewer",
641
+ members=["user:jane@example.com"],
642
+ condition={
643
+ "title": "expires_after_2019_12_31",
644
+ "description": "Expiring at midnight of 2019-12-31",
645
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
646
+ })
647
+ ```
648
+ ## iam.WorkloadIdentityPoolIamMember
649
+
650
+ ```python
651
+ import pulumi
652
+ import pulumi_gcp as gcp
653
+
654
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
655
+ project=example["project"],
656
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
657
+ role="roles/iam.workloadIdentityPoolViewer",
658
+ member="user:jane@example.com")
659
+ ```
660
+
661
+ With IAM Conditions:
662
+
663
+ ```python
664
+ import pulumi
665
+ import pulumi_gcp as gcp
666
+
667
+ member = gcp.iam.WorkloadIdentityPoolIamMember("member",
668
+ project=example["project"],
669
+ workload_identity_pool_id=example["workloadIdentityPoolId"],
670
+ role="roles/iam.workloadIdentityPoolViewer",
671
+ member="user:jane@example.com",
672
+ condition={
673
+ "title": "expires_after_2019_12_31",
674
+ "description": "Expiring at midnight of 2019-12-31",
675
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
676
+ })
677
+ ```
678
+
215
679
  ## Import
216
680
 
217
681
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -390,6 +390,15 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
390
390
  workload_identity_pool_namespace_id: Optional[pulumi.Input[_builtins.str]] = None,
391
391
  __props__=None):
392
392
  """
393
+ Represents a managed identity for a workload identity pool namespace.
394
+
395
+ To get more information about WorkloadIdentityPoolManagedIdentity, see:
396
+
397
+ * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.namespaces.managedIdentities)
398
+ * How-to Guides
399
+ * [Configure managed workload identity authentication for Compute Engine](https://cloud.google.com/iam/docs/create-managed-workload-identities)
400
+ * [Configure managed workload identity authentication for GKE](https://cloud.google.com/iam/docs/create-managed-workload-identities-gke)
401
+
393
402
  ## Example Usage
394
403
 
395
404
  ### Iam Workload Identity Pool Managed Identity Basic
@@ -497,6 +506,15 @@ class WorkloadIdentityPoolManagedIdentity(pulumi.CustomResource):
497
506
  args: WorkloadIdentityPoolManagedIdentityArgs,
498
507
  opts: Optional[pulumi.ResourceOptions] = None):
499
508
  """
509
+ Represents a managed identity for a workload identity pool namespace.
510
+
511
+ To get more information about WorkloadIdentityPoolManagedIdentity, see:
512
+
513
+ * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.namespaces.managedIdentities)
514
+ * How-to Guides
515
+ * [Configure managed workload identity authentication for Compute Engine](https://cloud.google.com/iam/docs/create-managed-workload-identities)
516
+ * [Configure managed workload identity authentication for GKE](https://cloud.google.com/iam/docs/create-managed-workload-identities-gke)
517
+
500
518
  ## Example Usage
501
519
 
502
520
  ### Iam Workload Identity Pool Managed Identity Basic
@@ -313,6 +313,16 @@ class WorkloadIdentityPoolNamespace(pulumi.CustomResource):
313
313
  workload_identity_pool_namespace_id: Optional[pulumi.Input[_builtins.str]] = None,
314
314
  __props__=None):
315
315
  """
316
+ Represents a namespace for a workload identity pool. Namespaces are used to segment identities
317
+ within the pool.
318
+
319
+ To get more information about WorkloadIdentityPoolNamespace, see:
320
+
321
+ * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.namespaces)
322
+ * How-to Guides
323
+ * [Configure managed workload identity authentication for Compute Engine](https://cloud.google.com/iam/docs/create-managed-workload-identities)
324
+ * [Configure managed workload identity authentication for GKE](https://cloud.google.com/iam/docs/create-managed-workload-identities-gke)
325
+
316
326
  ## Example Usage
317
327
 
318
328
  ### Iam Workload Identity Pool Namespace Basic
@@ -394,6 +404,16 @@ class WorkloadIdentityPoolNamespace(pulumi.CustomResource):
394
404
  args: WorkloadIdentityPoolNamespaceArgs,
395
405
  opts: Optional[pulumi.ResourceOptions] = None):
396
406
  """
407
+ Represents a namespace for a workload identity pool. Namespaces are used to segment identities
408
+ within the pool.
409
+
410
+ To get more information about WorkloadIdentityPoolNamespace, see:
411
+
412
+ * [API documentation](https://cloud.google.com/iam/docs/reference/rest/v1/projects.locations.workloadIdentityPools.namespaces)
413
+ * How-to Guides
414
+ * [Configure managed workload identity authentication for Compute Engine](https://cloud.google.com/iam/docs/create-managed-workload-identities)
415
+ * [Configure managed workload identity authentication for GKE](https://cloud.google.com/iam/docs/create-managed-workload-identities-gke)
416
+
397
417
  ## Example Usage
398
418
 
399
419
  ### Iam Workload Identity Pool Namespace Basic
@@ -22,6 +22,7 @@ from .get_tunnel_iam_policy import *
22
22
  from .get_tunnel_instance_iam_policy import *
23
23
  from .get_web_backend_service_iam_policy import *
24
24
  from .get_web_cloud_run_service_iam_policy import *
25
+ from .get_web_forwarding_rule_service_iam_policy import *
25
26
  from .get_web_iam_policy import *
26
27
  from .get_web_region_backend_service_iam_policy import *
27
28
  from .get_web_region_forwarding_rule_service_iam_policy import *
@@ -44,6 +45,9 @@ from .web_backend_service_iam_policy import *
44
45
  from .web_cloud_run_service_iam_binding import *
45
46
  from .web_cloud_run_service_iam_member import *
46
47
  from .web_cloud_run_service_iam_policy import *
48
+ from .web_forwarding_rule_service_iam_binding import *
49
+ from .web_forwarding_rule_service_iam_member import *
50
+ from .web_forwarding_rule_service_iam_policy import *
47
51
  from .web_iam_binding import *
48
52
  from .web_iam_member import *
49
53
  from .web_iam_policy import *