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
@@ -277,6 +277,238 @@ class BackendServiceIamMember(pulumi.CustomResource):
277
277
  role: Optional[pulumi.Input[_builtins.str]] = None,
278
278
  __props__=None):
279
279
  """
280
+ Three different resources help you manage your IAM policy for Compute Engine BackendService. Each of these resources serves a different use case:
281
+
282
+ * `compute.BackendServiceIamPolicy`: Authoritative. Sets the IAM policy for the backendservice and replaces any existing policy already attached.
283
+ * `compute.BackendServiceIamBinding`: 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 backendservice are preserved.
284
+ * `compute.BackendServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the backendservice are preserved.
285
+
286
+ A data source can be used to retrieve policy data in advent you do not need creation
287
+
288
+ * `compute.BackendServiceIamPolicy`: Retrieves the IAM policy for the backendservice
289
+
290
+ > **Note:** `compute.BackendServiceIamPolicy` **cannot** be used in conjunction with `compute.BackendServiceIamBinding` and `compute.BackendServiceIamMember` or they will fight over what your policy should be.
291
+
292
+ > **Note:** `compute.BackendServiceIamBinding` resources **can be** used in conjunction with `compute.BackendServiceIamMember` resources **only if** they do not grant privilege to the same role.
293
+
294
+ > **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.
295
+
296
+ ## compute.BackendServiceIamPolicy
297
+
298
+ ```python
299
+ import pulumi
300
+ import pulumi_gcp as gcp
301
+
302
+ admin = gcp.organizations.get_iam_policy(bindings=[{
303
+ "role": "roles/compute.admin",
304
+ "members": ["user:jane@example.com"],
305
+ }])
306
+ policy = gcp.compute.BackendServiceIamPolicy("policy",
307
+ project=default["project"],
308
+ name=default["name"],
309
+ policy_data=admin.policy_data)
310
+ ```
311
+
312
+ With IAM Conditions:
313
+
314
+ ```python
315
+ import pulumi
316
+ import pulumi_gcp as gcp
317
+
318
+ admin = gcp.organizations.get_iam_policy(bindings=[{
319
+ "role": "roles/compute.admin",
320
+ "members": ["user:jane@example.com"],
321
+ "condition": {
322
+ "title": "expires_after_2019_12_31",
323
+ "description": "Expiring at midnight of 2019-12-31",
324
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
325
+ },
326
+ }])
327
+ policy = gcp.compute.BackendServiceIamPolicy("policy",
328
+ project=default["project"],
329
+ name=default["name"],
330
+ policy_data=admin.policy_data)
331
+ ```
332
+ ## compute.BackendServiceIamBinding
333
+
334
+ ```python
335
+ import pulumi
336
+ import pulumi_gcp as gcp
337
+
338
+ binding = gcp.compute.BackendServiceIamBinding("binding",
339
+ project=default["project"],
340
+ name=default["name"],
341
+ role="roles/compute.admin",
342
+ members=["user:jane@example.com"])
343
+ ```
344
+
345
+ With IAM Conditions:
346
+
347
+ ```python
348
+ import pulumi
349
+ import pulumi_gcp as gcp
350
+
351
+ binding = gcp.compute.BackendServiceIamBinding("binding",
352
+ project=default["project"],
353
+ name=default["name"],
354
+ role="roles/compute.admin",
355
+ members=["user:jane@example.com"],
356
+ condition={
357
+ "title": "expires_after_2019_12_31",
358
+ "description": "Expiring at midnight of 2019-12-31",
359
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
360
+ })
361
+ ```
362
+ ## compute.BackendServiceIamMember
363
+
364
+ ```python
365
+ import pulumi
366
+ import pulumi_gcp as gcp
367
+
368
+ member = gcp.compute.BackendServiceIamMember("member",
369
+ project=default["project"],
370
+ name=default["name"],
371
+ role="roles/compute.admin",
372
+ member="user:jane@example.com")
373
+ ```
374
+
375
+ With IAM Conditions:
376
+
377
+ ```python
378
+ import pulumi
379
+ import pulumi_gcp as gcp
380
+
381
+ member = gcp.compute.BackendServiceIamMember("member",
382
+ project=default["project"],
383
+ name=default["name"],
384
+ role="roles/compute.admin",
385
+ member="user:jane@example.com",
386
+ condition={
387
+ "title": "expires_after_2019_12_31",
388
+ "description": "Expiring at midnight of 2019-12-31",
389
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
390
+ })
391
+ ```
392
+
393
+ ## This resource supports User Project Overrides.
394
+
395
+ -
396
+
397
+ # IAM policy for Compute Engine BackendService
398
+
399
+ Three different resources help you manage your IAM policy for Compute Engine BackendService. Each of these resources serves a different use case:
400
+
401
+ * `compute.BackendServiceIamPolicy`: Authoritative. Sets the IAM policy for the backendservice and replaces any existing policy already attached.
402
+ * `compute.BackendServiceIamBinding`: 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 backendservice are preserved.
403
+ * `compute.BackendServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the backendservice are preserved.
404
+
405
+ A data source can be used to retrieve policy data in advent you do not need creation
406
+
407
+ * `compute.BackendServiceIamPolicy`: Retrieves the IAM policy for the backendservice
408
+
409
+ > **Note:** `compute.BackendServiceIamPolicy` **cannot** be used in conjunction with `compute.BackendServiceIamBinding` and `compute.BackendServiceIamMember` or they will fight over what your policy should be.
410
+
411
+ > **Note:** `compute.BackendServiceIamBinding` resources **can be** used in conjunction with `compute.BackendServiceIamMember` resources **only if** they do not grant privilege to the same role.
412
+
413
+ > **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.
414
+
415
+ ## compute.BackendServiceIamPolicy
416
+
417
+ ```python
418
+ import pulumi
419
+ import pulumi_gcp as gcp
420
+
421
+ admin = gcp.organizations.get_iam_policy(bindings=[{
422
+ "role": "roles/compute.admin",
423
+ "members": ["user:jane@example.com"],
424
+ }])
425
+ policy = gcp.compute.BackendServiceIamPolicy("policy",
426
+ project=default["project"],
427
+ name=default["name"],
428
+ policy_data=admin.policy_data)
429
+ ```
430
+
431
+ With IAM Conditions:
432
+
433
+ ```python
434
+ import pulumi
435
+ import pulumi_gcp as gcp
436
+
437
+ admin = gcp.organizations.get_iam_policy(bindings=[{
438
+ "role": "roles/compute.admin",
439
+ "members": ["user:jane@example.com"],
440
+ "condition": {
441
+ "title": "expires_after_2019_12_31",
442
+ "description": "Expiring at midnight of 2019-12-31",
443
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
444
+ },
445
+ }])
446
+ policy = gcp.compute.BackendServiceIamPolicy("policy",
447
+ project=default["project"],
448
+ name=default["name"],
449
+ policy_data=admin.policy_data)
450
+ ```
451
+ ## compute.BackendServiceIamBinding
452
+
453
+ ```python
454
+ import pulumi
455
+ import pulumi_gcp as gcp
456
+
457
+ binding = gcp.compute.BackendServiceIamBinding("binding",
458
+ project=default["project"],
459
+ name=default["name"],
460
+ role="roles/compute.admin",
461
+ members=["user:jane@example.com"])
462
+ ```
463
+
464
+ With IAM Conditions:
465
+
466
+ ```python
467
+ import pulumi
468
+ import pulumi_gcp as gcp
469
+
470
+ binding = gcp.compute.BackendServiceIamBinding("binding",
471
+ project=default["project"],
472
+ name=default["name"],
473
+ role="roles/compute.admin",
474
+ members=["user:jane@example.com"],
475
+ condition={
476
+ "title": "expires_after_2019_12_31",
477
+ "description": "Expiring at midnight of 2019-12-31",
478
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
479
+ })
480
+ ```
481
+ ## compute.BackendServiceIamMember
482
+
483
+ ```python
484
+ import pulumi
485
+ import pulumi_gcp as gcp
486
+
487
+ member = gcp.compute.BackendServiceIamMember("member",
488
+ project=default["project"],
489
+ name=default["name"],
490
+ role="roles/compute.admin",
491
+ member="user:jane@example.com")
492
+ ```
493
+
494
+ With IAM Conditions:
495
+
496
+ ```python
497
+ import pulumi
498
+ import pulumi_gcp as gcp
499
+
500
+ member = gcp.compute.BackendServiceIamMember("member",
501
+ project=default["project"],
502
+ name=default["name"],
503
+ role="roles/compute.admin",
504
+ member="user:jane@example.com",
505
+ condition={
506
+ "title": "expires_after_2019_12_31",
507
+ "description": "Expiring at midnight of 2019-12-31",
508
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
509
+ })
510
+ ```
511
+
280
512
  ## Import
281
513
 
282
514
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -342,6 +574,238 @@ class BackendServiceIamMember(pulumi.CustomResource):
342
574
  args: BackendServiceIamMemberArgs,
343
575
  opts: Optional[pulumi.ResourceOptions] = None):
344
576
  """
577
+ Three different resources help you manage your IAM policy for Compute Engine BackendService. Each of these resources serves a different use case:
578
+
579
+ * `compute.BackendServiceIamPolicy`: Authoritative. Sets the IAM policy for the backendservice and replaces any existing policy already attached.
580
+ * `compute.BackendServiceIamBinding`: 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 backendservice are preserved.
581
+ * `compute.BackendServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the backendservice are preserved.
582
+
583
+ A data source can be used to retrieve policy data in advent you do not need creation
584
+
585
+ * `compute.BackendServiceIamPolicy`: Retrieves the IAM policy for the backendservice
586
+
587
+ > **Note:** `compute.BackendServiceIamPolicy` **cannot** be used in conjunction with `compute.BackendServiceIamBinding` and `compute.BackendServiceIamMember` or they will fight over what your policy should be.
588
+
589
+ > **Note:** `compute.BackendServiceIamBinding` resources **can be** used in conjunction with `compute.BackendServiceIamMember` resources **only if** they do not grant privilege to the same role.
590
+
591
+ > **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.
592
+
593
+ ## compute.BackendServiceIamPolicy
594
+
595
+ ```python
596
+ import pulumi
597
+ import pulumi_gcp as gcp
598
+
599
+ admin = gcp.organizations.get_iam_policy(bindings=[{
600
+ "role": "roles/compute.admin",
601
+ "members": ["user:jane@example.com"],
602
+ }])
603
+ policy = gcp.compute.BackendServiceIamPolicy("policy",
604
+ project=default["project"],
605
+ name=default["name"],
606
+ policy_data=admin.policy_data)
607
+ ```
608
+
609
+ With IAM Conditions:
610
+
611
+ ```python
612
+ import pulumi
613
+ import pulumi_gcp as gcp
614
+
615
+ admin = gcp.organizations.get_iam_policy(bindings=[{
616
+ "role": "roles/compute.admin",
617
+ "members": ["user:jane@example.com"],
618
+ "condition": {
619
+ "title": "expires_after_2019_12_31",
620
+ "description": "Expiring at midnight of 2019-12-31",
621
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
622
+ },
623
+ }])
624
+ policy = gcp.compute.BackendServiceIamPolicy("policy",
625
+ project=default["project"],
626
+ name=default["name"],
627
+ policy_data=admin.policy_data)
628
+ ```
629
+ ## compute.BackendServiceIamBinding
630
+
631
+ ```python
632
+ import pulumi
633
+ import pulumi_gcp as gcp
634
+
635
+ binding = gcp.compute.BackendServiceIamBinding("binding",
636
+ project=default["project"],
637
+ name=default["name"],
638
+ role="roles/compute.admin",
639
+ members=["user:jane@example.com"])
640
+ ```
641
+
642
+ With IAM Conditions:
643
+
644
+ ```python
645
+ import pulumi
646
+ import pulumi_gcp as gcp
647
+
648
+ binding = gcp.compute.BackendServiceIamBinding("binding",
649
+ project=default["project"],
650
+ name=default["name"],
651
+ role="roles/compute.admin",
652
+ members=["user:jane@example.com"],
653
+ condition={
654
+ "title": "expires_after_2019_12_31",
655
+ "description": "Expiring at midnight of 2019-12-31",
656
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
657
+ })
658
+ ```
659
+ ## compute.BackendServiceIamMember
660
+
661
+ ```python
662
+ import pulumi
663
+ import pulumi_gcp as gcp
664
+
665
+ member = gcp.compute.BackendServiceIamMember("member",
666
+ project=default["project"],
667
+ name=default["name"],
668
+ role="roles/compute.admin",
669
+ member="user:jane@example.com")
670
+ ```
671
+
672
+ With IAM Conditions:
673
+
674
+ ```python
675
+ import pulumi
676
+ import pulumi_gcp as gcp
677
+
678
+ member = gcp.compute.BackendServiceIamMember("member",
679
+ project=default["project"],
680
+ name=default["name"],
681
+ role="roles/compute.admin",
682
+ member="user:jane@example.com",
683
+ condition={
684
+ "title": "expires_after_2019_12_31",
685
+ "description": "Expiring at midnight of 2019-12-31",
686
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
687
+ })
688
+ ```
689
+
690
+ ## This resource supports User Project Overrides.
691
+
692
+ -
693
+
694
+ # IAM policy for Compute Engine BackendService
695
+
696
+ Three different resources help you manage your IAM policy for Compute Engine BackendService. Each of these resources serves a different use case:
697
+
698
+ * `compute.BackendServiceIamPolicy`: Authoritative. Sets the IAM policy for the backendservice and replaces any existing policy already attached.
699
+ * `compute.BackendServiceIamBinding`: 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 backendservice are preserved.
700
+ * `compute.BackendServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the backendservice are preserved.
701
+
702
+ A data source can be used to retrieve policy data in advent you do not need creation
703
+
704
+ * `compute.BackendServiceIamPolicy`: Retrieves the IAM policy for the backendservice
705
+
706
+ > **Note:** `compute.BackendServiceIamPolicy` **cannot** be used in conjunction with `compute.BackendServiceIamBinding` and `compute.BackendServiceIamMember` or they will fight over what your policy should be.
707
+
708
+ > **Note:** `compute.BackendServiceIamBinding` resources **can be** used in conjunction with `compute.BackendServiceIamMember` resources **only if** they do not grant privilege to the same role.
709
+
710
+ > **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.
711
+
712
+ ## compute.BackendServiceIamPolicy
713
+
714
+ ```python
715
+ import pulumi
716
+ import pulumi_gcp as gcp
717
+
718
+ admin = gcp.organizations.get_iam_policy(bindings=[{
719
+ "role": "roles/compute.admin",
720
+ "members": ["user:jane@example.com"],
721
+ }])
722
+ policy = gcp.compute.BackendServiceIamPolicy("policy",
723
+ project=default["project"],
724
+ name=default["name"],
725
+ policy_data=admin.policy_data)
726
+ ```
727
+
728
+ With IAM Conditions:
729
+
730
+ ```python
731
+ import pulumi
732
+ import pulumi_gcp as gcp
733
+
734
+ admin = gcp.organizations.get_iam_policy(bindings=[{
735
+ "role": "roles/compute.admin",
736
+ "members": ["user:jane@example.com"],
737
+ "condition": {
738
+ "title": "expires_after_2019_12_31",
739
+ "description": "Expiring at midnight of 2019-12-31",
740
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
741
+ },
742
+ }])
743
+ policy = gcp.compute.BackendServiceIamPolicy("policy",
744
+ project=default["project"],
745
+ name=default["name"],
746
+ policy_data=admin.policy_data)
747
+ ```
748
+ ## compute.BackendServiceIamBinding
749
+
750
+ ```python
751
+ import pulumi
752
+ import pulumi_gcp as gcp
753
+
754
+ binding = gcp.compute.BackendServiceIamBinding("binding",
755
+ project=default["project"],
756
+ name=default["name"],
757
+ role="roles/compute.admin",
758
+ members=["user:jane@example.com"])
759
+ ```
760
+
761
+ With IAM Conditions:
762
+
763
+ ```python
764
+ import pulumi
765
+ import pulumi_gcp as gcp
766
+
767
+ binding = gcp.compute.BackendServiceIamBinding("binding",
768
+ project=default["project"],
769
+ name=default["name"],
770
+ role="roles/compute.admin",
771
+ members=["user:jane@example.com"],
772
+ condition={
773
+ "title": "expires_after_2019_12_31",
774
+ "description": "Expiring at midnight of 2019-12-31",
775
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
776
+ })
777
+ ```
778
+ ## compute.BackendServiceIamMember
779
+
780
+ ```python
781
+ import pulumi
782
+ import pulumi_gcp as gcp
783
+
784
+ member = gcp.compute.BackendServiceIamMember("member",
785
+ project=default["project"],
786
+ name=default["name"],
787
+ role="roles/compute.admin",
788
+ member="user:jane@example.com")
789
+ ```
790
+
791
+ With IAM Conditions:
792
+
793
+ ```python
794
+ import pulumi
795
+ import pulumi_gcp as gcp
796
+
797
+ member = gcp.compute.BackendServiceIamMember("member",
798
+ project=default["project"],
799
+ name=default["name"],
800
+ role="roles/compute.admin",
801
+ member="user:jane@example.com",
802
+ condition={
803
+ "title": "expires_after_2019_12_31",
804
+ "description": "Expiring at midnight of 2019-12-31",
805
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
806
+ })
807
+ ```
808
+
345
809
  ## Import
346
810
 
347
811
  For all import syntaxes, the "resource in question" can take any of the following forms: