pulumi-gcp 8.42.0a1758133038__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.0a1758133038.dist-info → pulumi_gcp-9.0.0.dist-info}/METADATA +1 -1
  264. {pulumi_gcp-8.42.0a1758133038.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.0a1758133038.dist-info → pulumi_gcp-9.0.0.dist-info}/WHEEL +0 -0
  271. {pulumi_gcp-8.42.0a1758133038.dist-info → pulumi_gcp-9.0.0.dist-info}/top_level.txt +0 -0
@@ -381,6 +381,142 @@ class WorkstationIamBinding(pulumi.CustomResource):
381
381
  workstation_id: Optional[pulumi.Input[_builtins.str]] = None,
382
382
  __props__=None):
383
383
  """
384
+ Three different resources help you manage your IAM policy for Cloud Workstations Workstation. Each of these resources serves a different use case:
385
+
386
+ * `workstations.WorkstationIamPolicy`: Authoritative. Sets the IAM policy for the workstation and replaces any existing policy already attached.
387
+ * `workstations.WorkstationIamBinding`: 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 workstation are preserved.
388
+ * `workstations.WorkstationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workstation are preserved.
389
+
390
+ A data source can be used to retrieve policy data in advent you do not need creation
391
+
392
+ * `workstations.WorkstationIamPolicy`: Retrieves the IAM policy for the workstation
393
+
394
+ > **Note:** `workstations.WorkstationIamPolicy` **cannot** be used in conjunction with `workstations.WorkstationIamBinding` and `workstations.WorkstationIamMember` or they will fight over what your policy should be.
395
+
396
+ > **Note:** `workstations.WorkstationIamBinding` resources **can be** used in conjunction with `workstations.WorkstationIamMember` resources **only if** they do not grant privilege to the same role.
397
+
398
+ ## workstations.WorkstationIamPolicy
399
+
400
+ ```python
401
+ import pulumi
402
+ import pulumi_gcp as gcp
403
+
404
+ admin = gcp.organizations.get_iam_policy(bindings=[{
405
+ "role": "roles/viewer",
406
+ "members": ["user:jane@example.com"],
407
+ }])
408
+ policy = gcp.workstations.WorkstationIamPolicy("policy",
409
+ project=default["project"],
410
+ location=default["location"],
411
+ workstation_cluster_id=default["workstationClusterId"],
412
+ workstation_config_id=default["workstationConfigId"],
413
+ workstation_id=default["workstationId"],
414
+ policy_data=admin.policy_data)
415
+ ```
416
+
417
+ ## workstations.WorkstationIamBinding
418
+
419
+ ```python
420
+ import pulumi
421
+ import pulumi_gcp as gcp
422
+
423
+ binding = gcp.workstations.WorkstationIamBinding("binding",
424
+ project=default["project"],
425
+ location=default["location"],
426
+ workstation_cluster_id=default["workstationClusterId"],
427
+ workstation_config_id=default["workstationConfigId"],
428
+ workstation_id=default["workstationId"],
429
+ role="roles/viewer",
430
+ members=["user:jane@example.com"])
431
+ ```
432
+
433
+ ## workstations.WorkstationIamMember
434
+
435
+ ```python
436
+ import pulumi
437
+ import pulumi_gcp as gcp
438
+
439
+ member = gcp.workstations.WorkstationIamMember("member",
440
+ project=default["project"],
441
+ location=default["location"],
442
+ workstation_cluster_id=default["workstationClusterId"],
443
+ workstation_config_id=default["workstationConfigId"],
444
+ workstation_id=default["workstationId"],
445
+ role="roles/viewer",
446
+ member="user:jane@example.com")
447
+ ```
448
+
449
+ ## This resource supports User Project Overrides.
450
+
451
+ -
452
+
453
+ # IAM policy for Cloud Workstations Workstation
454
+
455
+ Three different resources help you manage your IAM policy for Cloud Workstations Workstation. Each of these resources serves a different use case:
456
+
457
+ * `workstations.WorkstationIamPolicy`: Authoritative. Sets the IAM policy for the workstation and replaces any existing policy already attached.
458
+ * `workstations.WorkstationIamBinding`: 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 workstation are preserved.
459
+ * `workstations.WorkstationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workstation are preserved.
460
+
461
+ A data source can be used to retrieve policy data in advent you do not need creation
462
+
463
+ * `workstations.WorkstationIamPolicy`: Retrieves the IAM policy for the workstation
464
+
465
+ > **Note:** `workstations.WorkstationIamPolicy` **cannot** be used in conjunction with `workstations.WorkstationIamBinding` and `workstations.WorkstationIamMember` or they will fight over what your policy should be.
466
+
467
+ > **Note:** `workstations.WorkstationIamBinding` resources **can be** used in conjunction with `workstations.WorkstationIamMember` resources **only if** they do not grant privilege to the same role.
468
+
469
+ ## workstations.WorkstationIamPolicy
470
+
471
+ ```python
472
+ import pulumi
473
+ import pulumi_gcp as gcp
474
+
475
+ admin = gcp.organizations.get_iam_policy(bindings=[{
476
+ "role": "roles/viewer",
477
+ "members": ["user:jane@example.com"],
478
+ }])
479
+ policy = gcp.workstations.WorkstationIamPolicy("policy",
480
+ project=default["project"],
481
+ location=default["location"],
482
+ workstation_cluster_id=default["workstationClusterId"],
483
+ workstation_config_id=default["workstationConfigId"],
484
+ workstation_id=default["workstationId"],
485
+ policy_data=admin.policy_data)
486
+ ```
487
+
488
+ ## workstations.WorkstationIamBinding
489
+
490
+ ```python
491
+ import pulumi
492
+ import pulumi_gcp as gcp
493
+
494
+ binding = gcp.workstations.WorkstationIamBinding("binding",
495
+ project=default["project"],
496
+ location=default["location"],
497
+ workstation_cluster_id=default["workstationClusterId"],
498
+ workstation_config_id=default["workstationConfigId"],
499
+ workstation_id=default["workstationId"],
500
+ role="roles/viewer",
501
+ members=["user:jane@example.com"])
502
+ ```
503
+
504
+ ## workstations.WorkstationIamMember
505
+
506
+ ```python
507
+ import pulumi
508
+ import pulumi_gcp as gcp
509
+
510
+ member = gcp.workstations.WorkstationIamMember("member",
511
+ project=default["project"],
512
+ location=default["location"],
513
+ workstation_cluster_id=default["workstationClusterId"],
514
+ workstation_config_id=default["workstationConfigId"],
515
+ workstation_id=default["workstationId"],
516
+ role="roles/viewer",
517
+ member="user:jane@example.com")
518
+ ```
519
+
384
520
  ## Import
385
521
 
386
522
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -454,6 +590,142 @@ class WorkstationIamBinding(pulumi.CustomResource):
454
590
  args: WorkstationIamBindingArgs,
455
591
  opts: Optional[pulumi.ResourceOptions] = None):
456
592
  """
593
+ Three different resources help you manage your IAM policy for Cloud Workstations Workstation. Each of these resources serves a different use case:
594
+
595
+ * `workstations.WorkstationIamPolicy`: Authoritative. Sets the IAM policy for the workstation and replaces any existing policy already attached.
596
+ * `workstations.WorkstationIamBinding`: 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 workstation are preserved.
597
+ * `workstations.WorkstationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workstation are preserved.
598
+
599
+ A data source can be used to retrieve policy data in advent you do not need creation
600
+
601
+ * `workstations.WorkstationIamPolicy`: Retrieves the IAM policy for the workstation
602
+
603
+ > **Note:** `workstations.WorkstationIamPolicy` **cannot** be used in conjunction with `workstations.WorkstationIamBinding` and `workstations.WorkstationIamMember` or they will fight over what your policy should be.
604
+
605
+ > **Note:** `workstations.WorkstationIamBinding` resources **can be** used in conjunction with `workstations.WorkstationIamMember` resources **only if** they do not grant privilege to the same role.
606
+
607
+ ## workstations.WorkstationIamPolicy
608
+
609
+ ```python
610
+ import pulumi
611
+ import pulumi_gcp as gcp
612
+
613
+ admin = gcp.organizations.get_iam_policy(bindings=[{
614
+ "role": "roles/viewer",
615
+ "members": ["user:jane@example.com"],
616
+ }])
617
+ policy = gcp.workstations.WorkstationIamPolicy("policy",
618
+ project=default["project"],
619
+ location=default["location"],
620
+ workstation_cluster_id=default["workstationClusterId"],
621
+ workstation_config_id=default["workstationConfigId"],
622
+ workstation_id=default["workstationId"],
623
+ policy_data=admin.policy_data)
624
+ ```
625
+
626
+ ## workstations.WorkstationIamBinding
627
+
628
+ ```python
629
+ import pulumi
630
+ import pulumi_gcp as gcp
631
+
632
+ binding = gcp.workstations.WorkstationIamBinding("binding",
633
+ project=default["project"],
634
+ location=default["location"],
635
+ workstation_cluster_id=default["workstationClusterId"],
636
+ workstation_config_id=default["workstationConfigId"],
637
+ workstation_id=default["workstationId"],
638
+ role="roles/viewer",
639
+ members=["user:jane@example.com"])
640
+ ```
641
+
642
+ ## workstations.WorkstationIamMember
643
+
644
+ ```python
645
+ import pulumi
646
+ import pulumi_gcp as gcp
647
+
648
+ member = gcp.workstations.WorkstationIamMember("member",
649
+ project=default["project"],
650
+ location=default["location"],
651
+ workstation_cluster_id=default["workstationClusterId"],
652
+ workstation_config_id=default["workstationConfigId"],
653
+ workstation_id=default["workstationId"],
654
+ role="roles/viewer",
655
+ member="user:jane@example.com")
656
+ ```
657
+
658
+ ## This resource supports User Project Overrides.
659
+
660
+ -
661
+
662
+ # IAM policy for Cloud Workstations Workstation
663
+
664
+ Three different resources help you manage your IAM policy for Cloud Workstations Workstation. Each of these resources serves a different use case:
665
+
666
+ * `workstations.WorkstationIamPolicy`: Authoritative. Sets the IAM policy for the workstation and replaces any existing policy already attached.
667
+ * `workstations.WorkstationIamBinding`: 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 workstation are preserved.
668
+ * `workstations.WorkstationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workstation are preserved.
669
+
670
+ A data source can be used to retrieve policy data in advent you do not need creation
671
+
672
+ * `workstations.WorkstationIamPolicy`: Retrieves the IAM policy for the workstation
673
+
674
+ > **Note:** `workstations.WorkstationIamPolicy` **cannot** be used in conjunction with `workstations.WorkstationIamBinding` and `workstations.WorkstationIamMember` or they will fight over what your policy should be.
675
+
676
+ > **Note:** `workstations.WorkstationIamBinding` resources **can be** used in conjunction with `workstations.WorkstationIamMember` resources **only if** they do not grant privilege to the same role.
677
+
678
+ ## workstations.WorkstationIamPolicy
679
+
680
+ ```python
681
+ import pulumi
682
+ import pulumi_gcp as gcp
683
+
684
+ admin = gcp.organizations.get_iam_policy(bindings=[{
685
+ "role": "roles/viewer",
686
+ "members": ["user:jane@example.com"],
687
+ }])
688
+ policy = gcp.workstations.WorkstationIamPolicy("policy",
689
+ project=default["project"],
690
+ location=default["location"],
691
+ workstation_cluster_id=default["workstationClusterId"],
692
+ workstation_config_id=default["workstationConfigId"],
693
+ workstation_id=default["workstationId"],
694
+ policy_data=admin.policy_data)
695
+ ```
696
+
697
+ ## workstations.WorkstationIamBinding
698
+
699
+ ```python
700
+ import pulumi
701
+ import pulumi_gcp as gcp
702
+
703
+ binding = gcp.workstations.WorkstationIamBinding("binding",
704
+ project=default["project"],
705
+ location=default["location"],
706
+ workstation_cluster_id=default["workstationClusterId"],
707
+ workstation_config_id=default["workstationConfigId"],
708
+ workstation_id=default["workstationId"],
709
+ role="roles/viewer",
710
+ members=["user:jane@example.com"])
711
+ ```
712
+
713
+ ## workstations.WorkstationIamMember
714
+
715
+ ```python
716
+ import pulumi
717
+ import pulumi_gcp as gcp
718
+
719
+ member = gcp.workstations.WorkstationIamMember("member",
720
+ project=default["project"],
721
+ location=default["location"],
722
+ workstation_cluster_id=default["workstationClusterId"],
723
+ workstation_config_id=default["workstationConfigId"],
724
+ workstation_id=default["workstationId"],
725
+ role="roles/viewer",
726
+ member="user:jane@example.com")
727
+ ```
728
+
457
729
  ## Import
458
730
 
459
731
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -381,6 +381,142 @@ class WorkstationIamMember(pulumi.CustomResource):
381
381
  workstation_id: Optional[pulumi.Input[_builtins.str]] = None,
382
382
  __props__=None):
383
383
  """
384
+ Three different resources help you manage your IAM policy for Cloud Workstations Workstation. Each of these resources serves a different use case:
385
+
386
+ * `workstations.WorkstationIamPolicy`: Authoritative. Sets the IAM policy for the workstation and replaces any existing policy already attached.
387
+ * `workstations.WorkstationIamBinding`: 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 workstation are preserved.
388
+ * `workstations.WorkstationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workstation are preserved.
389
+
390
+ A data source can be used to retrieve policy data in advent you do not need creation
391
+
392
+ * `workstations.WorkstationIamPolicy`: Retrieves the IAM policy for the workstation
393
+
394
+ > **Note:** `workstations.WorkstationIamPolicy` **cannot** be used in conjunction with `workstations.WorkstationIamBinding` and `workstations.WorkstationIamMember` or they will fight over what your policy should be.
395
+
396
+ > **Note:** `workstations.WorkstationIamBinding` resources **can be** used in conjunction with `workstations.WorkstationIamMember` resources **only if** they do not grant privilege to the same role.
397
+
398
+ ## workstations.WorkstationIamPolicy
399
+
400
+ ```python
401
+ import pulumi
402
+ import pulumi_gcp as gcp
403
+
404
+ admin = gcp.organizations.get_iam_policy(bindings=[{
405
+ "role": "roles/viewer",
406
+ "members": ["user:jane@example.com"],
407
+ }])
408
+ policy = gcp.workstations.WorkstationIamPolicy("policy",
409
+ project=default["project"],
410
+ location=default["location"],
411
+ workstation_cluster_id=default["workstationClusterId"],
412
+ workstation_config_id=default["workstationConfigId"],
413
+ workstation_id=default["workstationId"],
414
+ policy_data=admin.policy_data)
415
+ ```
416
+
417
+ ## workstations.WorkstationIamBinding
418
+
419
+ ```python
420
+ import pulumi
421
+ import pulumi_gcp as gcp
422
+
423
+ binding = gcp.workstations.WorkstationIamBinding("binding",
424
+ project=default["project"],
425
+ location=default["location"],
426
+ workstation_cluster_id=default["workstationClusterId"],
427
+ workstation_config_id=default["workstationConfigId"],
428
+ workstation_id=default["workstationId"],
429
+ role="roles/viewer",
430
+ members=["user:jane@example.com"])
431
+ ```
432
+
433
+ ## workstations.WorkstationIamMember
434
+
435
+ ```python
436
+ import pulumi
437
+ import pulumi_gcp as gcp
438
+
439
+ member = gcp.workstations.WorkstationIamMember("member",
440
+ project=default["project"],
441
+ location=default["location"],
442
+ workstation_cluster_id=default["workstationClusterId"],
443
+ workstation_config_id=default["workstationConfigId"],
444
+ workstation_id=default["workstationId"],
445
+ role="roles/viewer",
446
+ member="user:jane@example.com")
447
+ ```
448
+
449
+ ## This resource supports User Project Overrides.
450
+
451
+ -
452
+
453
+ # IAM policy for Cloud Workstations Workstation
454
+
455
+ Three different resources help you manage your IAM policy for Cloud Workstations Workstation. Each of these resources serves a different use case:
456
+
457
+ * `workstations.WorkstationIamPolicy`: Authoritative. Sets the IAM policy for the workstation and replaces any existing policy already attached.
458
+ * `workstations.WorkstationIamBinding`: 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 workstation are preserved.
459
+ * `workstations.WorkstationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workstation are preserved.
460
+
461
+ A data source can be used to retrieve policy data in advent you do not need creation
462
+
463
+ * `workstations.WorkstationIamPolicy`: Retrieves the IAM policy for the workstation
464
+
465
+ > **Note:** `workstations.WorkstationIamPolicy` **cannot** be used in conjunction with `workstations.WorkstationIamBinding` and `workstations.WorkstationIamMember` or they will fight over what your policy should be.
466
+
467
+ > **Note:** `workstations.WorkstationIamBinding` resources **can be** used in conjunction with `workstations.WorkstationIamMember` resources **only if** they do not grant privilege to the same role.
468
+
469
+ ## workstations.WorkstationIamPolicy
470
+
471
+ ```python
472
+ import pulumi
473
+ import pulumi_gcp as gcp
474
+
475
+ admin = gcp.organizations.get_iam_policy(bindings=[{
476
+ "role": "roles/viewer",
477
+ "members": ["user:jane@example.com"],
478
+ }])
479
+ policy = gcp.workstations.WorkstationIamPolicy("policy",
480
+ project=default["project"],
481
+ location=default["location"],
482
+ workstation_cluster_id=default["workstationClusterId"],
483
+ workstation_config_id=default["workstationConfigId"],
484
+ workstation_id=default["workstationId"],
485
+ policy_data=admin.policy_data)
486
+ ```
487
+
488
+ ## workstations.WorkstationIamBinding
489
+
490
+ ```python
491
+ import pulumi
492
+ import pulumi_gcp as gcp
493
+
494
+ binding = gcp.workstations.WorkstationIamBinding("binding",
495
+ project=default["project"],
496
+ location=default["location"],
497
+ workstation_cluster_id=default["workstationClusterId"],
498
+ workstation_config_id=default["workstationConfigId"],
499
+ workstation_id=default["workstationId"],
500
+ role="roles/viewer",
501
+ members=["user:jane@example.com"])
502
+ ```
503
+
504
+ ## workstations.WorkstationIamMember
505
+
506
+ ```python
507
+ import pulumi
508
+ import pulumi_gcp as gcp
509
+
510
+ member = gcp.workstations.WorkstationIamMember("member",
511
+ project=default["project"],
512
+ location=default["location"],
513
+ workstation_cluster_id=default["workstationClusterId"],
514
+ workstation_config_id=default["workstationConfigId"],
515
+ workstation_id=default["workstationId"],
516
+ role="roles/viewer",
517
+ member="user:jane@example.com")
518
+ ```
519
+
384
520
  ## Import
385
521
 
386
522
  For all import syntaxes, the "resource in question" can take any of the following forms:
@@ -454,6 +590,142 @@ class WorkstationIamMember(pulumi.CustomResource):
454
590
  args: WorkstationIamMemberArgs,
455
591
  opts: Optional[pulumi.ResourceOptions] = None):
456
592
  """
593
+ Three different resources help you manage your IAM policy for Cloud Workstations Workstation. Each of these resources serves a different use case:
594
+
595
+ * `workstations.WorkstationIamPolicy`: Authoritative. Sets the IAM policy for the workstation and replaces any existing policy already attached.
596
+ * `workstations.WorkstationIamBinding`: 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 workstation are preserved.
597
+ * `workstations.WorkstationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workstation are preserved.
598
+
599
+ A data source can be used to retrieve policy data in advent you do not need creation
600
+
601
+ * `workstations.WorkstationIamPolicy`: Retrieves the IAM policy for the workstation
602
+
603
+ > **Note:** `workstations.WorkstationIamPolicy` **cannot** be used in conjunction with `workstations.WorkstationIamBinding` and `workstations.WorkstationIamMember` or they will fight over what your policy should be.
604
+
605
+ > **Note:** `workstations.WorkstationIamBinding` resources **can be** used in conjunction with `workstations.WorkstationIamMember` resources **only if** they do not grant privilege to the same role.
606
+
607
+ ## workstations.WorkstationIamPolicy
608
+
609
+ ```python
610
+ import pulumi
611
+ import pulumi_gcp as gcp
612
+
613
+ admin = gcp.organizations.get_iam_policy(bindings=[{
614
+ "role": "roles/viewer",
615
+ "members": ["user:jane@example.com"],
616
+ }])
617
+ policy = gcp.workstations.WorkstationIamPolicy("policy",
618
+ project=default["project"],
619
+ location=default["location"],
620
+ workstation_cluster_id=default["workstationClusterId"],
621
+ workstation_config_id=default["workstationConfigId"],
622
+ workstation_id=default["workstationId"],
623
+ policy_data=admin.policy_data)
624
+ ```
625
+
626
+ ## workstations.WorkstationIamBinding
627
+
628
+ ```python
629
+ import pulumi
630
+ import pulumi_gcp as gcp
631
+
632
+ binding = gcp.workstations.WorkstationIamBinding("binding",
633
+ project=default["project"],
634
+ location=default["location"],
635
+ workstation_cluster_id=default["workstationClusterId"],
636
+ workstation_config_id=default["workstationConfigId"],
637
+ workstation_id=default["workstationId"],
638
+ role="roles/viewer",
639
+ members=["user:jane@example.com"])
640
+ ```
641
+
642
+ ## workstations.WorkstationIamMember
643
+
644
+ ```python
645
+ import pulumi
646
+ import pulumi_gcp as gcp
647
+
648
+ member = gcp.workstations.WorkstationIamMember("member",
649
+ project=default["project"],
650
+ location=default["location"],
651
+ workstation_cluster_id=default["workstationClusterId"],
652
+ workstation_config_id=default["workstationConfigId"],
653
+ workstation_id=default["workstationId"],
654
+ role="roles/viewer",
655
+ member="user:jane@example.com")
656
+ ```
657
+
658
+ ## This resource supports User Project Overrides.
659
+
660
+ -
661
+
662
+ # IAM policy for Cloud Workstations Workstation
663
+
664
+ Three different resources help you manage your IAM policy for Cloud Workstations Workstation. Each of these resources serves a different use case:
665
+
666
+ * `workstations.WorkstationIamPolicy`: Authoritative. Sets the IAM policy for the workstation and replaces any existing policy already attached.
667
+ * `workstations.WorkstationIamBinding`: 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 workstation are preserved.
668
+ * `workstations.WorkstationIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workstation are preserved.
669
+
670
+ A data source can be used to retrieve policy data in advent you do not need creation
671
+
672
+ * `workstations.WorkstationIamPolicy`: Retrieves the IAM policy for the workstation
673
+
674
+ > **Note:** `workstations.WorkstationIamPolicy` **cannot** be used in conjunction with `workstations.WorkstationIamBinding` and `workstations.WorkstationIamMember` or they will fight over what your policy should be.
675
+
676
+ > **Note:** `workstations.WorkstationIamBinding` resources **can be** used in conjunction with `workstations.WorkstationIamMember` resources **only if** they do not grant privilege to the same role.
677
+
678
+ ## workstations.WorkstationIamPolicy
679
+
680
+ ```python
681
+ import pulumi
682
+ import pulumi_gcp as gcp
683
+
684
+ admin = gcp.organizations.get_iam_policy(bindings=[{
685
+ "role": "roles/viewer",
686
+ "members": ["user:jane@example.com"],
687
+ }])
688
+ policy = gcp.workstations.WorkstationIamPolicy("policy",
689
+ project=default["project"],
690
+ location=default["location"],
691
+ workstation_cluster_id=default["workstationClusterId"],
692
+ workstation_config_id=default["workstationConfigId"],
693
+ workstation_id=default["workstationId"],
694
+ policy_data=admin.policy_data)
695
+ ```
696
+
697
+ ## workstations.WorkstationIamBinding
698
+
699
+ ```python
700
+ import pulumi
701
+ import pulumi_gcp as gcp
702
+
703
+ binding = gcp.workstations.WorkstationIamBinding("binding",
704
+ project=default["project"],
705
+ location=default["location"],
706
+ workstation_cluster_id=default["workstationClusterId"],
707
+ workstation_config_id=default["workstationConfigId"],
708
+ workstation_id=default["workstationId"],
709
+ role="roles/viewer",
710
+ members=["user:jane@example.com"])
711
+ ```
712
+
713
+ ## workstations.WorkstationIamMember
714
+
715
+ ```python
716
+ import pulumi
717
+ import pulumi_gcp as gcp
718
+
719
+ member = gcp.workstations.WorkstationIamMember("member",
720
+ project=default["project"],
721
+ location=default["location"],
722
+ workstation_cluster_id=default["workstationClusterId"],
723
+ workstation_config_id=default["workstationConfigId"],
724
+ workstation_id=default["workstationId"],
725
+ role="roles/viewer",
726
+ member="user:jane@example.com")
727
+ ```
728
+
457
729
  ## Import
458
730
 
459
731
  For all import syntaxes, the "resource in question" can take any of the following forms: