pulumi-gcp 8.42.0a1758178363__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 (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.0a1758219982.dist-info}/METADATA +1 -1
  264. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0a1758219982.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.0a1758219982.dist-info}/WHEEL +0 -0
  271. {pulumi_gcp-8.42.0a1758178363.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1091 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['WebRegionForwardingRuleServiceIamMemberArgs', 'WebRegionForwardingRuleServiceIamMember']
20
+
21
+ @pulumi.input_type
22
+ class WebRegionForwardingRuleServiceIamMemberArgs:
23
+ def __init__(__self__, *,
24
+ forwarding_rule_region_service_name: pulumi.Input[_builtins.str],
25
+ member: pulumi.Input[_builtins.str],
26
+ role: pulumi.Input[_builtins.str],
27
+ condition: Optional[pulumi.Input['WebRegionForwardingRuleServiceIamMemberConditionArgs']] = None,
28
+ project: Optional[pulumi.Input[_builtins.str]] = None,
29
+ region: Optional[pulumi.Input[_builtins.str]] = None):
30
+ """
31
+ The set of arguments for constructing a WebRegionForwardingRuleServiceIamMember resource.
32
+ :param pulumi.Input[_builtins.str] forwarding_rule_region_service_name: Used to find the parent resource to bind the IAM policy to
33
+ :param pulumi.Input[_builtins.str] member: Identities that will be granted the privilege in `role`.
34
+ Each entry can have one of the following values:
35
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
36
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
37
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
38
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
39
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
40
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
41
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
42
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
43
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
44
+ :param pulumi.Input[_builtins.str] role: The role that should be applied. Only one
45
+ `iap.WebRegionForwardingRuleServiceIamBinding` can be used per role. Note that custom roles must be of the format
46
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
47
+ :param pulumi.Input['WebRegionForwardingRuleServiceIamMemberConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
48
+ Structure is documented below.
49
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
50
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
51
+ :param pulumi.Input[_builtins.str] region: Used to find the parent resource to bind the IAM policy to. If not specified,
52
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
53
+ region is specified, it is taken from the provider configuration.
54
+ """
55
+ pulumi.set(__self__, "forwarding_rule_region_service_name", forwarding_rule_region_service_name)
56
+ pulumi.set(__self__, "member", member)
57
+ pulumi.set(__self__, "role", role)
58
+ if condition is not None:
59
+ pulumi.set(__self__, "condition", condition)
60
+ if project is not None:
61
+ pulumi.set(__self__, "project", project)
62
+ if region is not None:
63
+ pulumi.set(__self__, "region", region)
64
+
65
+ @_builtins.property
66
+ @pulumi.getter(name="forwardingRuleRegionServiceName")
67
+ def forwarding_rule_region_service_name(self) -> pulumi.Input[_builtins.str]:
68
+ """
69
+ Used to find the parent resource to bind the IAM policy to
70
+ """
71
+ return pulumi.get(self, "forwarding_rule_region_service_name")
72
+
73
+ @forwarding_rule_region_service_name.setter
74
+ def forwarding_rule_region_service_name(self, value: pulumi.Input[_builtins.str]):
75
+ pulumi.set(self, "forwarding_rule_region_service_name", value)
76
+
77
+ @_builtins.property
78
+ @pulumi.getter
79
+ def member(self) -> pulumi.Input[_builtins.str]:
80
+ """
81
+ Identities that will be granted the privilege in `role`.
82
+ Each entry can have one of the following values:
83
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
84
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
85
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
86
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
87
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
88
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
89
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
90
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
91
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
92
+ """
93
+ return pulumi.get(self, "member")
94
+
95
+ @member.setter
96
+ def member(self, value: pulumi.Input[_builtins.str]):
97
+ pulumi.set(self, "member", value)
98
+
99
+ @_builtins.property
100
+ @pulumi.getter
101
+ def role(self) -> pulumi.Input[_builtins.str]:
102
+ """
103
+ The role that should be applied. Only one
104
+ `iap.WebRegionForwardingRuleServiceIamBinding` can be used per role. Note that custom roles must be of the format
105
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
106
+ """
107
+ return pulumi.get(self, "role")
108
+
109
+ @role.setter
110
+ def role(self, value: pulumi.Input[_builtins.str]):
111
+ pulumi.set(self, "role", value)
112
+
113
+ @_builtins.property
114
+ @pulumi.getter
115
+ def condition(self) -> Optional[pulumi.Input['WebRegionForwardingRuleServiceIamMemberConditionArgs']]:
116
+ """
117
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
118
+ Structure is documented below.
119
+ """
120
+ return pulumi.get(self, "condition")
121
+
122
+ @condition.setter
123
+ def condition(self, value: Optional[pulumi.Input['WebRegionForwardingRuleServiceIamMemberConditionArgs']]):
124
+ pulumi.set(self, "condition", value)
125
+
126
+ @_builtins.property
127
+ @pulumi.getter
128
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
129
+ """
130
+ The ID of the project in which the resource belongs.
131
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
132
+ """
133
+ return pulumi.get(self, "project")
134
+
135
+ @project.setter
136
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "project", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter
141
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
142
+ """
143
+ Used to find the parent resource to bind the IAM policy to. If not specified,
144
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
145
+ region is specified, it is taken from the provider configuration.
146
+ """
147
+ return pulumi.get(self, "region")
148
+
149
+ @region.setter
150
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
151
+ pulumi.set(self, "region", value)
152
+
153
+
154
+ @pulumi.input_type
155
+ class _WebRegionForwardingRuleServiceIamMemberState:
156
+ def __init__(__self__, *,
157
+ condition: Optional[pulumi.Input['WebRegionForwardingRuleServiceIamMemberConditionArgs']] = None,
158
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
159
+ forwarding_rule_region_service_name: Optional[pulumi.Input[_builtins.str]] = None,
160
+ member: Optional[pulumi.Input[_builtins.str]] = None,
161
+ project: Optional[pulumi.Input[_builtins.str]] = None,
162
+ region: Optional[pulumi.Input[_builtins.str]] = None,
163
+ role: Optional[pulumi.Input[_builtins.str]] = None):
164
+ """
165
+ Input properties used for looking up and filtering WebRegionForwardingRuleServiceIamMember resources.
166
+ :param pulumi.Input['WebRegionForwardingRuleServiceIamMemberConditionArgs'] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
167
+ Structure is documented below.
168
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
169
+ :param pulumi.Input[_builtins.str] forwarding_rule_region_service_name: Used to find the parent resource to bind the IAM policy to
170
+ :param pulumi.Input[_builtins.str] member: Identities that will be granted the privilege in `role`.
171
+ Each entry can have one of the following values:
172
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
173
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
174
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
175
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
176
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
177
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
178
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
179
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
180
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
181
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
182
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
183
+ :param pulumi.Input[_builtins.str] region: Used to find the parent resource to bind the IAM policy to. If not specified,
184
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
185
+ region is specified, it is taken from the provider configuration.
186
+ :param pulumi.Input[_builtins.str] role: The role that should be applied. Only one
187
+ `iap.WebRegionForwardingRuleServiceIamBinding` can be used per role. Note that custom roles must be of the format
188
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
189
+ """
190
+ if condition is not None:
191
+ pulumi.set(__self__, "condition", condition)
192
+ if etag is not None:
193
+ pulumi.set(__self__, "etag", etag)
194
+ if forwarding_rule_region_service_name is not None:
195
+ pulumi.set(__self__, "forwarding_rule_region_service_name", forwarding_rule_region_service_name)
196
+ if member is not None:
197
+ pulumi.set(__self__, "member", member)
198
+ if project is not None:
199
+ pulumi.set(__self__, "project", project)
200
+ if region is not None:
201
+ pulumi.set(__self__, "region", region)
202
+ if role is not None:
203
+ pulumi.set(__self__, "role", role)
204
+
205
+ @_builtins.property
206
+ @pulumi.getter
207
+ def condition(self) -> Optional[pulumi.Input['WebRegionForwardingRuleServiceIamMemberConditionArgs']]:
208
+ """
209
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
210
+ Structure is documented below.
211
+ """
212
+ return pulumi.get(self, "condition")
213
+
214
+ @condition.setter
215
+ def condition(self, value: Optional[pulumi.Input['WebRegionForwardingRuleServiceIamMemberConditionArgs']]):
216
+ pulumi.set(self, "condition", value)
217
+
218
+ @_builtins.property
219
+ @pulumi.getter
220
+ def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
221
+ """
222
+ (Computed) The etag of the IAM policy.
223
+ """
224
+ return pulumi.get(self, "etag")
225
+
226
+ @etag.setter
227
+ def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
228
+ pulumi.set(self, "etag", value)
229
+
230
+ @_builtins.property
231
+ @pulumi.getter(name="forwardingRuleRegionServiceName")
232
+ def forwarding_rule_region_service_name(self) -> Optional[pulumi.Input[_builtins.str]]:
233
+ """
234
+ Used to find the parent resource to bind the IAM policy to
235
+ """
236
+ return pulumi.get(self, "forwarding_rule_region_service_name")
237
+
238
+ @forwarding_rule_region_service_name.setter
239
+ def forwarding_rule_region_service_name(self, value: Optional[pulumi.Input[_builtins.str]]):
240
+ pulumi.set(self, "forwarding_rule_region_service_name", value)
241
+
242
+ @_builtins.property
243
+ @pulumi.getter
244
+ def member(self) -> Optional[pulumi.Input[_builtins.str]]:
245
+ """
246
+ Identities that will be granted the privilege in `role`.
247
+ Each entry can have one of the following values:
248
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
249
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
250
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
251
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
252
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
253
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
254
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
255
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
256
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
257
+ """
258
+ return pulumi.get(self, "member")
259
+
260
+ @member.setter
261
+ def member(self, value: Optional[pulumi.Input[_builtins.str]]):
262
+ pulumi.set(self, "member", value)
263
+
264
+ @_builtins.property
265
+ @pulumi.getter
266
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
267
+ """
268
+ The ID of the project in which the resource belongs.
269
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
270
+ """
271
+ return pulumi.get(self, "project")
272
+
273
+ @project.setter
274
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
275
+ pulumi.set(self, "project", value)
276
+
277
+ @_builtins.property
278
+ @pulumi.getter
279
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
280
+ """
281
+ Used to find the parent resource to bind the IAM policy to. If not specified,
282
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
283
+ region is specified, it is taken from the provider configuration.
284
+ """
285
+ return pulumi.get(self, "region")
286
+
287
+ @region.setter
288
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
289
+ pulumi.set(self, "region", value)
290
+
291
+ @_builtins.property
292
+ @pulumi.getter
293
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
294
+ """
295
+ The role that should be applied. Only one
296
+ `iap.WebRegionForwardingRuleServiceIamBinding` can be used per role. Note that custom roles must be of the format
297
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
298
+ """
299
+ return pulumi.get(self, "role")
300
+
301
+ @role.setter
302
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
303
+ pulumi.set(self, "role", value)
304
+
305
+
306
+ @pulumi.type_token("gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember")
307
+ class WebRegionForwardingRuleServiceIamMember(pulumi.CustomResource):
308
+ @overload
309
+ def __init__(__self__,
310
+ resource_name: str,
311
+ opts: Optional[pulumi.ResourceOptions] = None,
312
+ condition: Optional[pulumi.Input[Union['WebRegionForwardingRuleServiceIamMemberConditionArgs', 'WebRegionForwardingRuleServiceIamMemberConditionArgsDict']]] = None,
313
+ forwarding_rule_region_service_name: Optional[pulumi.Input[_builtins.str]] = None,
314
+ member: Optional[pulumi.Input[_builtins.str]] = None,
315
+ project: Optional[pulumi.Input[_builtins.str]] = None,
316
+ region: Optional[pulumi.Input[_builtins.str]] = None,
317
+ role: Optional[pulumi.Input[_builtins.str]] = None,
318
+ __props__=None):
319
+ """
320
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService. Each of these resources serves a different use case:
321
+
322
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webregionforwardingruleservice and replaces any existing policy already attached.
323
+ * `iap.WebRegionForwardingRuleServiceIamBinding`: 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 webregionforwardingruleservice are preserved.
324
+ * `iap.WebRegionForwardingRuleServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webregionforwardingruleservice are preserved.
325
+
326
+ A data source can be used to retrieve policy data in advent you do not need creation
327
+
328
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webregionforwardingruleservice
329
+
330
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebRegionForwardingRuleServiceIamBinding` and `iap.WebRegionForwardingRuleServiceIamMember` or they will fight over what your policy should be.
331
+
332
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebRegionForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
333
+
334
+ > **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.
335
+
336
+ ## iap.WebRegionForwardingRuleServiceIamPolicy
337
+
338
+ ```python
339
+ import pulumi
340
+ import pulumi_gcp as gcp
341
+
342
+ admin = gcp.organizations.get_iam_policy(bindings=[{
343
+ "role": "roles/iap.httpsResourceAccessor",
344
+ "members": ["user:jane@example.com"],
345
+ }])
346
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
347
+ project=default["project"],
348
+ region=default["region"],
349
+ forwarding_rule_region_service_name=default["name"],
350
+ policy_data=admin.policy_data)
351
+ ```
352
+
353
+ With IAM Conditions:
354
+
355
+ ```python
356
+ import pulumi
357
+ import pulumi_gcp as gcp
358
+
359
+ admin = gcp.organizations.get_iam_policy(bindings=[{
360
+ "role": "roles/iap.httpsResourceAccessor",
361
+ "members": ["user:jane@example.com"],
362
+ "condition": {
363
+ "title": "expires_after_2019_12_31",
364
+ "description": "Expiring at midnight of 2019-12-31",
365
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
366
+ },
367
+ }])
368
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
369
+ project=default["project"],
370
+ region=default["region"],
371
+ forwarding_rule_region_service_name=default["name"],
372
+ policy_data=admin.policy_data)
373
+ ```
374
+ ## iap.WebRegionForwardingRuleServiceIamBinding
375
+
376
+ ```python
377
+ import pulumi
378
+ import pulumi_gcp as gcp
379
+
380
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
381
+ project=default["project"],
382
+ region=default["region"],
383
+ forwarding_rule_region_service_name=default["name"],
384
+ role="roles/iap.httpsResourceAccessor",
385
+ members=["user:jane@example.com"])
386
+ ```
387
+
388
+ With IAM Conditions:
389
+
390
+ ```python
391
+ import pulumi
392
+ import pulumi_gcp as gcp
393
+
394
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
395
+ project=default["project"],
396
+ region=default["region"],
397
+ forwarding_rule_region_service_name=default["name"],
398
+ role="roles/iap.httpsResourceAccessor",
399
+ members=["user:jane@example.com"],
400
+ condition={
401
+ "title": "expires_after_2019_12_31",
402
+ "description": "Expiring at midnight of 2019-12-31",
403
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
404
+ })
405
+ ```
406
+ ## iap.WebRegionForwardingRuleServiceIamMember
407
+
408
+ ```python
409
+ import pulumi
410
+ import pulumi_gcp as gcp
411
+
412
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
413
+ project=default["project"],
414
+ region=default["region"],
415
+ forwarding_rule_region_service_name=default["name"],
416
+ role="roles/iap.httpsResourceAccessor",
417
+ member="user:jane@example.com")
418
+ ```
419
+
420
+ With IAM Conditions:
421
+
422
+ ```python
423
+ import pulumi
424
+ import pulumi_gcp as gcp
425
+
426
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
427
+ project=default["project"],
428
+ region=default["region"],
429
+ forwarding_rule_region_service_name=default["name"],
430
+ role="roles/iap.httpsResourceAccessor",
431
+ member="user:jane@example.com",
432
+ condition={
433
+ "title": "expires_after_2019_12_31",
434
+ "description": "Expiring at midnight of 2019-12-31",
435
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
436
+ })
437
+ ```
438
+
439
+ ## This resource supports User Project Overrides.
440
+
441
+ -
442
+
443
+ # IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService
444
+
445
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService. Each of these resources serves a different use case:
446
+
447
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webregionforwardingruleservice and replaces any existing policy already attached.
448
+ * `iap.WebRegionForwardingRuleServiceIamBinding`: 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 webregionforwardingruleservice are preserved.
449
+ * `iap.WebRegionForwardingRuleServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webregionforwardingruleservice are preserved.
450
+
451
+ A data source can be used to retrieve policy data in advent you do not need creation
452
+
453
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webregionforwardingruleservice
454
+
455
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebRegionForwardingRuleServiceIamBinding` and `iap.WebRegionForwardingRuleServiceIamMember` or they will fight over what your policy should be.
456
+
457
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebRegionForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
458
+
459
+ > **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.
460
+
461
+ ## iap.WebRegionForwardingRuleServiceIamPolicy
462
+
463
+ ```python
464
+ import pulumi
465
+ import pulumi_gcp as gcp
466
+
467
+ admin = gcp.organizations.get_iam_policy(bindings=[{
468
+ "role": "roles/iap.httpsResourceAccessor",
469
+ "members": ["user:jane@example.com"],
470
+ }])
471
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
472
+ project=default["project"],
473
+ region=default["region"],
474
+ forwarding_rule_region_service_name=default["name"],
475
+ policy_data=admin.policy_data)
476
+ ```
477
+
478
+ With IAM Conditions:
479
+
480
+ ```python
481
+ import pulumi
482
+ import pulumi_gcp as gcp
483
+
484
+ admin = gcp.organizations.get_iam_policy(bindings=[{
485
+ "role": "roles/iap.httpsResourceAccessor",
486
+ "members": ["user:jane@example.com"],
487
+ "condition": {
488
+ "title": "expires_after_2019_12_31",
489
+ "description": "Expiring at midnight of 2019-12-31",
490
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
491
+ },
492
+ }])
493
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
494
+ project=default["project"],
495
+ region=default["region"],
496
+ forwarding_rule_region_service_name=default["name"],
497
+ policy_data=admin.policy_data)
498
+ ```
499
+ ## iap.WebRegionForwardingRuleServiceIamBinding
500
+
501
+ ```python
502
+ import pulumi
503
+ import pulumi_gcp as gcp
504
+
505
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
506
+ project=default["project"],
507
+ region=default["region"],
508
+ forwarding_rule_region_service_name=default["name"],
509
+ role="roles/iap.httpsResourceAccessor",
510
+ members=["user:jane@example.com"])
511
+ ```
512
+
513
+ With IAM Conditions:
514
+
515
+ ```python
516
+ import pulumi
517
+ import pulumi_gcp as gcp
518
+
519
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
520
+ project=default["project"],
521
+ region=default["region"],
522
+ forwarding_rule_region_service_name=default["name"],
523
+ role="roles/iap.httpsResourceAccessor",
524
+ members=["user:jane@example.com"],
525
+ condition={
526
+ "title": "expires_after_2019_12_31",
527
+ "description": "Expiring at midnight of 2019-12-31",
528
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
529
+ })
530
+ ```
531
+ ## iap.WebRegionForwardingRuleServiceIamMember
532
+
533
+ ```python
534
+ import pulumi
535
+ import pulumi_gcp as gcp
536
+
537
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
538
+ project=default["project"],
539
+ region=default["region"],
540
+ forwarding_rule_region_service_name=default["name"],
541
+ role="roles/iap.httpsResourceAccessor",
542
+ member="user:jane@example.com")
543
+ ```
544
+
545
+ With IAM Conditions:
546
+
547
+ ```python
548
+ import pulumi
549
+ import pulumi_gcp as gcp
550
+
551
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
552
+ project=default["project"],
553
+ region=default["region"],
554
+ forwarding_rule_region_service_name=default["name"],
555
+ role="roles/iap.httpsResourceAccessor",
556
+ member="user:jane@example.com",
557
+ condition={
558
+ "title": "expires_after_2019_12_31",
559
+ "description": "Expiring at midnight of 2019-12-31",
560
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
561
+ })
562
+ ```
563
+
564
+ ## Import
565
+
566
+ For all import syntaxes, the "resource in question" can take any of the following forms:
567
+
568
+ * projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{name}}
569
+
570
+ * {{project}}/{{region}}/{{name}}
571
+
572
+ * {{region}}/{{name}}
573
+
574
+ * {{name}}
575
+
576
+ Any variables not passed in the import command will be taken from the provider configuration.
577
+
578
+ Identity-Aware Proxy webregionforwardingruleservice IAM resources can be imported using the resource identifiers, role, and member.
579
+
580
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
581
+
582
+ ```sh
583
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember editor "projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
584
+ ```
585
+
586
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
587
+
588
+ ```sh
589
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember editor "projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}} roles/iap.httpsResourceAccessor"
590
+ ```
591
+
592
+ IAM policy imports use the identifier of the resource in question, e.g.
593
+
594
+ ```sh
595
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember editor projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}}
596
+ ```
597
+
598
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
599
+
600
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
601
+
602
+ :param str resource_name: The name of the resource.
603
+ :param pulumi.ResourceOptions opts: Options for the resource.
604
+ :param pulumi.Input[Union['WebRegionForwardingRuleServiceIamMemberConditionArgs', 'WebRegionForwardingRuleServiceIamMemberConditionArgsDict']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
605
+ Structure is documented below.
606
+ :param pulumi.Input[_builtins.str] forwarding_rule_region_service_name: Used to find the parent resource to bind the IAM policy to
607
+ :param pulumi.Input[_builtins.str] member: Identities that will be granted the privilege in `role`.
608
+ Each entry can have one of the following values:
609
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
610
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
611
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
612
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
613
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
614
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
615
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
616
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
617
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
618
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
619
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
620
+ :param pulumi.Input[_builtins.str] region: Used to find the parent resource to bind the IAM policy to. If not specified,
621
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
622
+ region is specified, it is taken from the provider configuration.
623
+ :param pulumi.Input[_builtins.str] role: The role that should be applied. Only one
624
+ `iap.WebRegionForwardingRuleServiceIamBinding` can be used per role. Note that custom roles must be of the format
625
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
626
+ """
627
+ ...
628
+ @overload
629
+ def __init__(__self__,
630
+ resource_name: str,
631
+ args: WebRegionForwardingRuleServiceIamMemberArgs,
632
+ opts: Optional[pulumi.ResourceOptions] = None):
633
+ """
634
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService. Each of these resources serves a different use case:
635
+
636
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webregionforwardingruleservice and replaces any existing policy already attached.
637
+ * `iap.WebRegionForwardingRuleServiceIamBinding`: 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 webregionforwardingruleservice are preserved.
638
+ * `iap.WebRegionForwardingRuleServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webregionforwardingruleservice are preserved.
639
+
640
+ A data source can be used to retrieve policy data in advent you do not need creation
641
+
642
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webregionforwardingruleservice
643
+
644
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebRegionForwardingRuleServiceIamBinding` and `iap.WebRegionForwardingRuleServiceIamMember` or they will fight over what your policy should be.
645
+
646
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebRegionForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
647
+
648
+ > **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.
649
+
650
+ ## iap.WebRegionForwardingRuleServiceIamPolicy
651
+
652
+ ```python
653
+ import pulumi
654
+ import pulumi_gcp as gcp
655
+
656
+ admin = gcp.organizations.get_iam_policy(bindings=[{
657
+ "role": "roles/iap.httpsResourceAccessor",
658
+ "members": ["user:jane@example.com"],
659
+ }])
660
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
661
+ project=default["project"],
662
+ region=default["region"],
663
+ forwarding_rule_region_service_name=default["name"],
664
+ policy_data=admin.policy_data)
665
+ ```
666
+
667
+ With IAM Conditions:
668
+
669
+ ```python
670
+ import pulumi
671
+ import pulumi_gcp as gcp
672
+
673
+ admin = gcp.organizations.get_iam_policy(bindings=[{
674
+ "role": "roles/iap.httpsResourceAccessor",
675
+ "members": ["user:jane@example.com"],
676
+ "condition": {
677
+ "title": "expires_after_2019_12_31",
678
+ "description": "Expiring at midnight of 2019-12-31",
679
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
680
+ },
681
+ }])
682
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
683
+ project=default["project"],
684
+ region=default["region"],
685
+ forwarding_rule_region_service_name=default["name"],
686
+ policy_data=admin.policy_data)
687
+ ```
688
+ ## iap.WebRegionForwardingRuleServiceIamBinding
689
+
690
+ ```python
691
+ import pulumi
692
+ import pulumi_gcp as gcp
693
+
694
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
695
+ project=default["project"],
696
+ region=default["region"],
697
+ forwarding_rule_region_service_name=default["name"],
698
+ role="roles/iap.httpsResourceAccessor",
699
+ members=["user:jane@example.com"])
700
+ ```
701
+
702
+ With IAM Conditions:
703
+
704
+ ```python
705
+ import pulumi
706
+ import pulumi_gcp as gcp
707
+
708
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
709
+ project=default["project"],
710
+ region=default["region"],
711
+ forwarding_rule_region_service_name=default["name"],
712
+ role="roles/iap.httpsResourceAccessor",
713
+ members=["user:jane@example.com"],
714
+ condition={
715
+ "title": "expires_after_2019_12_31",
716
+ "description": "Expiring at midnight of 2019-12-31",
717
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
718
+ })
719
+ ```
720
+ ## iap.WebRegionForwardingRuleServiceIamMember
721
+
722
+ ```python
723
+ import pulumi
724
+ import pulumi_gcp as gcp
725
+
726
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
727
+ project=default["project"],
728
+ region=default["region"],
729
+ forwarding_rule_region_service_name=default["name"],
730
+ role="roles/iap.httpsResourceAccessor",
731
+ member="user:jane@example.com")
732
+ ```
733
+
734
+ With IAM Conditions:
735
+
736
+ ```python
737
+ import pulumi
738
+ import pulumi_gcp as gcp
739
+
740
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
741
+ project=default["project"],
742
+ region=default["region"],
743
+ forwarding_rule_region_service_name=default["name"],
744
+ role="roles/iap.httpsResourceAccessor",
745
+ member="user:jane@example.com",
746
+ condition={
747
+ "title": "expires_after_2019_12_31",
748
+ "description": "Expiring at midnight of 2019-12-31",
749
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
750
+ })
751
+ ```
752
+
753
+ ## This resource supports User Project Overrides.
754
+
755
+ -
756
+
757
+ # IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService
758
+
759
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService. Each of these resources serves a different use case:
760
+
761
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webregionforwardingruleservice and replaces any existing policy already attached.
762
+ * `iap.WebRegionForwardingRuleServiceIamBinding`: 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 webregionforwardingruleservice are preserved.
763
+ * `iap.WebRegionForwardingRuleServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webregionforwardingruleservice are preserved.
764
+
765
+ A data source can be used to retrieve policy data in advent you do not need creation
766
+
767
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webregionforwardingruleservice
768
+
769
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebRegionForwardingRuleServiceIamBinding` and `iap.WebRegionForwardingRuleServiceIamMember` or they will fight over what your policy should be.
770
+
771
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebRegionForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
772
+
773
+ > **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.
774
+
775
+ ## iap.WebRegionForwardingRuleServiceIamPolicy
776
+
777
+ ```python
778
+ import pulumi
779
+ import pulumi_gcp as gcp
780
+
781
+ admin = gcp.organizations.get_iam_policy(bindings=[{
782
+ "role": "roles/iap.httpsResourceAccessor",
783
+ "members": ["user:jane@example.com"],
784
+ }])
785
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
786
+ project=default["project"],
787
+ region=default["region"],
788
+ forwarding_rule_region_service_name=default["name"],
789
+ policy_data=admin.policy_data)
790
+ ```
791
+
792
+ With IAM Conditions:
793
+
794
+ ```python
795
+ import pulumi
796
+ import pulumi_gcp as gcp
797
+
798
+ admin = gcp.organizations.get_iam_policy(bindings=[{
799
+ "role": "roles/iap.httpsResourceAccessor",
800
+ "members": ["user:jane@example.com"],
801
+ "condition": {
802
+ "title": "expires_after_2019_12_31",
803
+ "description": "Expiring at midnight of 2019-12-31",
804
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
805
+ },
806
+ }])
807
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
808
+ project=default["project"],
809
+ region=default["region"],
810
+ forwarding_rule_region_service_name=default["name"],
811
+ policy_data=admin.policy_data)
812
+ ```
813
+ ## iap.WebRegionForwardingRuleServiceIamBinding
814
+
815
+ ```python
816
+ import pulumi
817
+ import pulumi_gcp as gcp
818
+
819
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
820
+ project=default["project"],
821
+ region=default["region"],
822
+ forwarding_rule_region_service_name=default["name"],
823
+ role="roles/iap.httpsResourceAccessor",
824
+ members=["user:jane@example.com"])
825
+ ```
826
+
827
+ With IAM Conditions:
828
+
829
+ ```python
830
+ import pulumi
831
+ import pulumi_gcp as gcp
832
+
833
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
834
+ project=default["project"],
835
+ region=default["region"],
836
+ forwarding_rule_region_service_name=default["name"],
837
+ role="roles/iap.httpsResourceAccessor",
838
+ members=["user:jane@example.com"],
839
+ condition={
840
+ "title": "expires_after_2019_12_31",
841
+ "description": "Expiring at midnight of 2019-12-31",
842
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
843
+ })
844
+ ```
845
+ ## iap.WebRegionForwardingRuleServiceIamMember
846
+
847
+ ```python
848
+ import pulumi
849
+ import pulumi_gcp as gcp
850
+
851
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
852
+ project=default["project"],
853
+ region=default["region"],
854
+ forwarding_rule_region_service_name=default["name"],
855
+ role="roles/iap.httpsResourceAccessor",
856
+ member="user:jane@example.com")
857
+ ```
858
+
859
+ With IAM Conditions:
860
+
861
+ ```python
862
+ import pulumi
863
+ import pulumi_gcp as gcp
864
+
865
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
866
+ project=default["project"],
867
+ region=default["region"],
868
+ forwarding_rule_region_service_name=default["name"],
869
+ role="roles/iap.httpsResourceAccessor",
870
+ member="user:jane@example.com",
871
+ condition={
872
+ "title": "expires_after_2019_12_31",
873
+ "description": "Expiring at midnight of 2019-12-31",
874
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
875
+ })
876
+ ```
877
+
878
+ ## Import
879
+
880
+ For all import syntaxes, the "resource in question" can take any of the following forms:
881
+
882
+ * projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{name}}
883
+
884
+ * {{project}}/{{region}}/{{name}}
885
+
886
+ * {{region}}/{{name}}
887
+
888
+ * {{name}}
889
+
890
+ Any variables not passed in the import command will be taken from the provider configuration.
891
+
892
+ Identity-Aware Proxy webregionforwardingruleservice IAM resources can be imported using the resource identifiers, role, and member.
893
+
894
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
895
+
896
+ ```sh
897
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember editor "projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
898
+ ```
899
+
900
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
901
+
902
+ ```sh
903
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember editor "projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}} roles/iap.httpsResourceAccessor"
904
+ ```
905
+
906
+ IAM policy imports use the identifier of the resource in question, e.g.
907
+
908
+ ```sh
909
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember editor projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}}
910
+ ```
911
+
912
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
913
+
914
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
915
+
916
+ :param str resource_name: The name of the resource.
917
+ :param WebRegionForwardingRuleServiceIamMemberArgs args: The arguments to use to populate this resource's properties.
918
+ :param pulumi.ResourceOptions opts: Options for the resource.
919
+ """
920
+ ...
921
+ def __init__(__self__, resource_name: str, *args, **kwargs):
922
+ resource_args, opts = _utilities.get_resource_args_opts(WebRegionForwardingRuleServiceIamMemberArgs, pulumi.ResourceOptions, *args, **kwargs)
923
+ if resource_args is not None:
924
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
925
+ else:
926
+ __self__._internal_init(resource_name, *args, **kwargs)
927
+
928
+ def _internal_init(__self__,
929
+ resource_name: str,
930
+ opts: Optional[pulumi.ResourceOptions] = None,
931
+ condition: Optional[pulumi.Input[Union['WebRegionForwardingRuleServiceIamMemberConditionArgs', 'WebRegionForwardingRuleServiceIamMemberConditionArgsDict']]] = None,
932
+ forwarding_rule_region_service_name: Optional[pulumi.Input[_builtins.str]] = None,
933
+ member: Optional[pulumi.Input[_builtins.str]] = None,
934
+ project: Optional[pulumi.Input[_builtins.str]] = None,
935
+ region: Optional[pulumi.Input[_builtins.str]] = None,
936
+ role: Optional[pulumi.Input[_builtins.str]] = None,
937
+ __props__=None):
938
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
939
+ if not isinstance(opts, pulumi.ResourceOptions):
940
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
941
+ if opts.id is None:
942
+ if __props__ is not None:
943
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
944
+ __props__ = WebRegionForwardingRuleServiceIamMemberArgs.__new__(WebRegionForwardingRuleServiceIamMemberArgs)
945
+
946
+ __props__.__dict__["condition"] = condition
947
+ if forwarding_rule_region_service_name is None and not opts.urn:
948
+ raise TypeError("Missing required property 'forwarding_rule_region_service_name'")
949
+ __props__.__dict__["forwarding_rule_region_service_name"] = forwarding_rule_region_service_name
950
+ if member is None and not opts.urn:
951
+ raise TypeError("Missing required property 'member'")
952
+ __props__.__dict__["member"] = member
953
+ __props__.__dict__["project"] = project
954
+ __props__.__dict__["region"] = region
955
+ if role is None and not opts.urn:
956
+ raise TypeError("Missing required property 'role'")
957
+ __props__.__dict__["role"] = role
958
+ __props__.__dict__["etag"] = None
959
+ super(WebRegionForwardingRuleServiceIamMember, __self__).__init__(
960
+ 'gcp:iap/webRegionForwardingRuleServiceIamMember:WebRegionForwardingRuleServiceIamMember',
961
+ resource_name,
962
+ __props__,
963
+ opts)
964
+
965
+ @staticmethod
966
+ def get(resource_name: str,
967
+ id: pulumi.Input[str],
968
+ opts: Optional[pulumi.ResourceOptions] = None,
969
+ condition: Optional[pulumi.Input[Union['WebRegionForwardingRuleServiceIamMemberConditionArgs', 'WebRegionForwardingRuleServiceIamMemberConditionArgsDict']]] = None,
970
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
971
+ forwarding_rule_region_service_name: Optional[pulumi.Input[_builtins.str]] = None,
972
+ member: Optional[pulumi.Input[_builtins.str]] = None,
973
+ project: Optional[pulumi.Input[_builtins.str]] = None,
974
+ region: Optional[pulumi.Input[_builtins.str]] = None,
975
+ role: Optional[pulumi.Input[_builtins.str]] = None) -> 'WebRegionForwardingRuleServiceIamMember':
976
+ """
977
+ Get an existing WebRegionForwardingRuleServiceIamMember resource's state with the given name, id, and optional extra
978
+ properties used to qualify the lookup.
979
+
980
+ :param str resource_name: The unique name of the resulting resource.
981
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
982
+ :param pulumi.ResourceOptions opts: Options for the resource.
983
+ :param pulumi.Input[Union['WebRegionForwardingRuleServiceIamMemberConditionArgs', 'WebRegionForwardingRuleServiceIamMemberConditionArgsDict']] condition: An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
984
+ Structure is documented below.
985
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
986
+ :param pulumi.Input[_builtins.str] forwarding_rule_region_service_name: Used to find the parent resource to bind the IAM policy to
987
+ :param pulumi.Input[_builtins.str] member: Identities that will be granted the privilege in `role`.
988
+ Each entry can have one of the following values:
989
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
990
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
991
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
992
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
993
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
994
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
995
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
996
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
997
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
998
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
999
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
1000
+ :param pulumi.Input[_builtins.str] region: Used to find the parent resource to bind the IAM policy to. If not specified,
1001
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
1002
+ region is specified, it is taken from the provider configuration.
1003
+ :param pulumi.Input[_builtins.str] role: The role that should be applied. Only one
1004
+ `iap.WebRegionForwardingRuleServiceIamBinding` can be used per role. Note that custom roles must be of the format
1005
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
1006
+ """
1007
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1008
+
1009
+ __props__ = _WebRegionForwardingRuleServiceIamMemberState.__new__(_WebRegionForwardingRuleServiceIamMemberState)
1010
+
1011
+ __props__.__dict__["condition"] = condition
1012
+ __props__.__dict__["etag"] = etag
1013
+ __props__.__dict__["forwarding_rule_region_service_name"] = forwarding_rule_region_service_name
1014
+ __props__.__dict__["member"] = member
1015
+ __props__.__dict__["project"] = project
1016
+ __props__.__dict__["region"] = region
1017
+ __props__.__dict__["role"] = role
1018
+ return WebRegionForwardingRuleServiceIamMember(resource_name, opts=opts, __props__=__props__)
1019
+
1020
+ @_builtins.property
1021
+ @pulumi.getter
1022
+ def condition(self) -> pulumi.Output[Optional['outputs.WebRegionForwardingRuleServiceIamMemberCondition']]:
1023
+ """
1024
+ An [IAM Condition](https://cloud.google.com/iam/docs/conditions-overview) for a given binding.
1025
+ Structure is documented below.
1026
+ """
1027
+ return pulumi.get(self, "condition")
1028
+
1029
+ @_builtins.property
1030
+ @pulumi.getter
1031
+ def etag(self) -> pulumi.Output[_builtins.str]:
1032
+ """
1033
+ (Computed) The etag of the IAM policy.
1034
+ """
1035
+ return pulumi.get(self, "etag")
1036
+
1037
+ @_builtins.property
1038
+ @pulumi.getter(name="forwardingRuleRegionServiceName")
1039
+ def forwarding_rule_region_service_name(self) -> pulumi.Output[_builtins.str]:
1040
+ """
1041
+ Used to find the parent resource to bind the IAM policy to
1042
+ """
1043
+ return pulumi.get(self, "forwarding_rule_region_service_name")
1044
+
1045
+ @_builtins.property
1046
+ @pulumi.getter
1047
+ def member(self) -> pulumi.Output[_builtins.str]:
1048
+ """
1049
+ Identities that will be granted the privilege in `role`.
1050
+ Each entry can have one of the following values:
1051
+ * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
1052
+ * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
1053
+ * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
1054
+ * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
1055
+ * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
1056
+ * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
1057
+ * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
1058
+ * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
1059
+ * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
1060
+ """
1061
+ return pulumi.get(self, "member")
1062
+
1063
+ @_builtins.property
1064
+ @pulumi.getter
1065
+ def project(self) -> pulumi.Output[_builtins.str]:
1066
+ """
1067
+ The ID of the project in which the resource belongs.
1068
+ If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
1069
+ """
1070
+ return pulumi.get(self, "project")
1071
+
1072
+ @_builtins.property
1073
+ @pulumi.getter
1074
+ def region(self) -> pulumi.Output[_builtins.str]:
1075
+ """
1076
+ Used to find the parent resource to bind the IAM policy to. If not specified,
1077
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
1078
+ region is specified, it is taken from the provider configuration.
1079
+ """
1080
+ return pulumi.get(self, "region")
1081
+
1082
+ @_builtins.property
1083
+ @pulumi.getter
1084
+ def role(self) -> pulumi.Output[_builtins.str]:
1085
+ """
1086
+ The role that should be applied. Only one
1087
+ `iap.WebRegionForwardingRuleServiceIamBinding` can be used per role. Note that custom roles must be of the format
1088
+ `[projects|organizations]/{parent-name}/roles/{role-name}`.
1089
+ """
1090
+ return pulumi.get(self, "role")
1091
+