pulumi-gcp 9.0.0a1__py3-none-any.whl → 9.0.0a1758219982__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (209) hide show
  1. pulumi_gcp/__init__.py +48 -0
  2. pulumi_gcp/activedirectory/peering.py +16 -0
  3. pulumi_gcp/apigateway/api_config_iam_binding.py +4 -4
  4. pulumi_gcp/apigateway/api_config_iam_member.py +4 -4
  5. pulumi_gcp/apigateway/api_config_iam_policy.py +4 -4
  6. pulumi_gcp/apigateway/api_iam_binding.py +4 -4
  7. pulumi_gcp/apigateway/api_iam_member.py +4 -4
  8. pulumi_gcp/apigateway/api_iam_policy.py +4 -4
  9. pulumi_gcp/apigateway/gateway_iam_binding.py +4 -4
  10. pulumi_gcp/apigateway/gateway_iam_member.py +4 -4
  11. pulumi_gcp/apigateway/gateway_iam_policy.py +4 -4
  12. pulumi_gcp/artifactregistry/__init__.py +1 -0
  13. pulumi_gcp/artifactregistry/get_python_package.py +237 -0
  14. pulumi_gcp/artifactregistry/get_repository.py +12 -1
  15. pulumi_gcp/artifactregistry/repository.py +28 -0
  16. pulumi_gcp/backupdisasterrecovery/__init__.py +1 -0
  17. pulumi_gcp/backupdisasterrecovery/backup_plan.py +4 -4
  18. pulumi_gcp/backupdisasterrecovery/get_backup.py +12 -1
  19. pulumi_gcp/backupdisasterrecovery/get_backup_plan_association.py +4 -0
  20. pulumi_gcp/backupdisasterrecovery/get_data_source_references.py +135 -0
  21. pulumi_gcp/backupdisasterrecovery/get_management_server.py +4 -0
  22. pulumi_gcp/backupdisasterrecovery/outputs.py +103 -0
  23. pulumi_gcp/bigquery/app_profile.py +14 -49
  24. pulumi_gcp/bigquery/dataset_access.py +4 -8
  25. pulumi_gcp/bigquery/table.py +7 -21
  26. pulumi_gcp/bigqueryanalyticshub/data_exchange_subscription.py +20 -0
  27. pulumi_gcp/bigtable/app_profile.py +14 -49
  28. pulumi_gcp/bigtable/table.py +42 -42
  29. pulumi_gcp/certificatemanager/certificate_map_entry.py +7 -7
  30. pulumi_gcp/chronicle/_inputs.py +6 -5
  31. pulumi_gcp/chronicle/outputs.py +4 -3
  32. pulumi_gcp/chronicle/reference_list.py +53 -5
  33. pulumi_gcp/cloudasset/get_resources_search_all.py +8 -0
  34. pulumi_gcp/cloudbuild/_inputs.py +20 -0
  35. pulumi_gcp/cloudbuild/outputs.py +14 -0
  36. pulumi_gcp/cloudbuild/trigger.py +4 -2
  37. pulumi_gcp/cloudbuild/worker_pool.py +28 -21
  38. pulumi_gcp/cloudfunctions/function.py +4 -8
  39. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +16 -0
  40. pulumi_gcp/cloudrunv2/_inputs.py +57 -0
  41. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  42. pulumi_gcp/cloudrunv2/outputs.py +81 -0
  43. pulumi_gcp/cloudrunv2/service.py +54 -0
  44. pulumi_gcp/cloudrunv2/worker_pool.py +2 -2
  45. pulumi_gcp/composer/environment.py +28 -49
  46. pulumi_gcp/compute/_inputs.py +804 -24
  47. pulumi_gcp/compute/backend_bucket.py +14 -0
  48. pulumi_gcp/compute/backend_bucket_iam_binding.py +236 -0
  49. pulumi_gcp/compute/backend_bucket_iam_member.py +236 -0
  50. pulumi_gcp/compute/backend_bucket_iam_policy.py +236 -0
  51. pulumi_gcp/compute/backend_service_iam_binding.py +464 -0
  52. pulumi_gcp/compute/backend_service_iam_member.py +464 -0
  53. pulumi_gcp/compute/backend_service_iam_policy.py +464 -0
  54. pulumi_gcp/compute/cross_site_network.py +16 -0
  55. pulumi_gcp/compute/future_reservation.py +32 -0
  56. pulumi_gcp/compute/get_region_backend_service.py +12 -1
  57. pulumi_gcp/compute/get_resource_policy.py +2 -20
  58. pulumi_gcp/compute/instance_from_machine_image.py +75 -110
  59. pulumi_gcp/compute/instance_from_template.py +75 -110
  60. pulumi_gcp/compute/instance_group_manager.py +7 -14
  61. pulumi_gcp/compute/instance_template.py +7 -14
  62. pulumi_gcp/compute/interconnect.py +4 -8
  63. pulumi_gcp/compute/machine_image_iam_binding.py +8 -4
  64. pulumi_gcp/compute/machine_image_iam_member.py +8 -4
  65. pulumi_gcp/compute/machine_image_iam_policy.py +8 -4
  66. pulumi_gcp/compute/network_edge_security_service.py +16 -0
  67. pulumi_gcp/compute/network_firewall_policy_packet_mirroring_rule.py +12 -0
  68. pulumi_gcp/compute/outputs.py +671 -16
  69. pulumi_gcp/compute/preview_feature.py +16 -0
  70. pulumi_gcp/compute/public_delegated_prefix.py +42 -0
  71. pulumi_gcp/compute/region_backend_service.py +54 -0
  72. pulumi_gcp/compute/region_backend_service_iam_binding.py +488 -0
  73. pulumi_gcp/compute/region_backend_service_iam_member.py +488 -0
  74. pulumi_gcp/compute/region_backend_service_iam_policy.py +488 -0
  75. pulumi_gcp/compute/region_instance_group_manager.py +7 -14
  76. pulumi_gcp/compute/region_network_endpoint_group.py +1 -3
  77. pulumi_gcp/compute/region_resize_request.py +24 -0
  78. pulumi_gcp/compute/region_url_map.py +75 -0
  79. pulumi_gcp/compute/wire_group.py +16 -0
  80. pulumi_gcp/container/_inputs.py +446 -18
  81. pulumi_gcp/container/aws_cluster.py +28 -42
  82. pulumi_gcp/container/aws_node_pool.py +28 -42
  83. pulumi_gcp/container/azure_cluster.py +35 -70
  84. pulumi_gcp/container/azure_node_pool.py +28 -42
  85. pulumi_gcp/container/cluster.py +16 -7
  86. pulumi_gcp/container/outputs.py +423 -15
  87. pulumi_gcp/dataflow/flex_template_job.py +10 -0
  88. pulumi_gcp/dataform/repository.py +16 -0
  89. pulumi_gcp/dataform/repository_release_config.py +16 -0
  90. pulumi_gcp/dataform/repository_workflow_config.py +16 -0
  91. pulumi_gcp/dataplex/asset.py +28 -21
  92. pulumi_gcp/dataplex/zone.py +28 -21
  93. pulumi_gcp/dataproc/cluster.py +21 -14
  94. pulumi_gcp/dataproc/workflow_template.py +42 -105
  95. pulumi_gcp/discoveryengine/__init__.py +1 -0
  96. pulumi_gcp/discoveryengine/_inputs.py +94 -0
  97. pulumi_gcp/discoveryengine/acl_config.py +393 -0
  98. pulumi_gcp/discoveryengine/outputs.py +92 -0
  99. pulumi_gcp/firebase/android_app.py +16 -0
  100. pulumi_gcp/firebase/apple_app.py +16 -0
  101. pulumi_gcp/firebase/database_instance.py +16 -0
  102. pulumi_gcp/firebase/extensions_instance.py +12 -0
  103. pulumi_gcp/firebase/get_android_app.py +4 -2
  104. pulumi_gcp/firebase/get_apple_app.py +4 -2
  105. pulumi_gcp/firebase/get_apple_app_config.py +16 -2
  106. pulumi_gcp/firebase/get_hosting_channel.py +4 -2
  107. pulumi_gcp/firebase/hosting_channel.py +20 -0
  108. pulumi_gcp/firebase/hosting_custom_domain.py +20 -0
  109. pulumi_gcp/firebase/hosting_release.py +16 -0
  110. pulumi_gcp/firebase/hosting_site.py +16 -0
  111. pulumi_gcp/firebase/hosting_version.py +16 -0
  112. pulumi_gcp/firebase/storage_bucket.py +18 -0
  113. pulumi_gcp/firestore/index.py +118 -3
  114. pulumi_gcp/folder/service_identity.py +26 -0
  115. pulumi_gcp/gkehub/membership_rbac_role_binding.py +16 -0
  116. pulumi_gcp/healthcare/_inputs.py +205 -0
  117. pulumi_gcp/healthcare/fhir_store.py +128 -0
  118. pulumi_gcp/healthcare/outputs.py +163 -0
  119. pulumi_gcp/iam/workload_identity_pool_iam_binding.py +464 -0
  120. pulumi_gcp/iam/workload_identity_pool_iam_member.py +464 -0
  121. pulumi_gcp/iam/workload_identity_pool_iam_policy.py +464 -0
  122. pulumi_gcp/iam/workload_identity_pool_managed_identity.py +18 -0
  123. pulumi_gcp/iam/workload_identity_pool_namespace.py +20 -0
  124. pulumi_gcp/iap/__init__.py +4 -0
  125. pulumi_gcp/iap/_inputs.py +130 -0
  126. pulumi_gcp/iap/get_web_forwarding_rule_service_iam_policy.py +159 -0
  127. pulumi_gcp/iap/outputs.py +76 -0
  128. pulumi_gcp/iap/web_forwarding_rule_service_iam_binding.py +1002 -0
  129. pulumi_gcp/iap/web_forwarding_rule_service_iam_member.py +1002 -0
  130. pulumi_gcp/iap/web_forwarding_rule_service_iam_policy.py +821 -0
  131. pulumi_gcp/kms/get_kms_secret_asymmetric.py +22 -0
  132. pulumi_gcp/logging/billing_account_bucket_config.py +7 -21
  133. pulumi_gcp/logging/folder_bucket_config.py +7 -21
  134. pulumi_gcp/logging/organization_bucket_config.py +7 -21
  135. pulumi_gcp/logging/organization_sink.py +7 -7
  136. pulumi_gcp/managedkafka/connect_cluster.py +4 -0
  137. pulumi_gcp/managedkafka/connector.py +4 -0
  138. pulumi_gcp/memorystore/instance.py +14 -14
  139. pulumi_gcp/monitoring/dashboard.py +7 -14
  140. pulumi_gcp/netapp/storage_pool.py +91 -2
  141. pulumi_gcp/netapp/volume.py +47 -0
  142. pulumi_gcp/networkmanagement/__init__.py +1 -0
  143. pulumi_gcp/networkmanagement/organization_vpc_flow_logs_config.py +1028 -0
  144. pulumi_gcp/networksecurity/authorization_policy.py +12 -0
  145. pulumi_gcp/networkservices/gateway.py +7 -7
  146. pulumi_gcp/networkservices/service_lb_policies.py +12 -0
  147. pulumi_gcp/oracledatabase/autonomous_database.py +2 -2
  148. pulumi_gcp/organizations/project.py +7 -21
  149. pulumi_gcp/projects/service.py +0 -7
  150. pulumi_gcp/pulumi-plugin.json +1 -1
  151. pulumi_gcp/resourcemanager/capability.py +16 -0
  152. pulumi_gcp/runtimeconfig/config.py +16 -0
  153. pulumi_gcp/runtimeconfig/config_iam_binding.py +236 -0
  154. pulumi_gcp/runtimeconfig/config_iam_member.py +236 -0
  155. pulumi_gcp/runtimeconfig/config_iam_policy.py +236 -0
  156. pulumi_gcp/runtimeconfig/variable.py +10 -0
  157. pulumi_gcp/saasruntime/__init__.py +1 -0
  158. pulumi_gcp/saasruntime/_inputs.py +458 -0
  159. pulumi_gcp/saasruntime/outputs.py +392 -0
  160. pulumi_gcp/saasruntime/saa_s.py +4 -0
  161. pulumi_gcp/saasruntime/unit_kind.py +1024 -0
  162. pulumi_gcp/securesourcemanager/instance.py +7 -7
  163. pulumi_gcp/securesourcemanager/repository.py +7 -7
  164. pulumi_gcp/servicedirectory/namespace_iam_binding.py +4 -4
  165. pulumi_gcp/servicedirectory/namespace_iam_member.py +4 -4
  166. pulumi_gcp/servicedirectory/namespace_iam_policy.py +4 -4
  167. pulumi_gcp/servicedirectory/service_iam_binding.py +4 -4
  168. pulumi_gcp/servicedirectory/service_iam_member.py +4 -4
  169. pulumi_gcp/servicedirectory/service_iam_policy.py +4 -4
  170. pulumi_gcp/sql/_inputs.py +135 -1
  171. pulumi_gcp/sql/database_instance.py +54 -14
  172. pulumi_gcp/sql/get_database_instance.py +12 -1
  173. pulumi_gcp/sql/outputs.py +265 -3
  174. pulumi_gcp/storage/_inputs.py +246 -0
  175. pulumi_gcp/storage/bucket.py +7 -14
  176. pulumi_gcp/storage/bucket_object.py +0 -9
  177. pulumi_gcp/storage/outputs.py +191 -1
  178. pulumi_gcp/storage/transfer_job.py +47 -0
  179. pulumi_gcp/tpu/v2_queued_resource.py +16 -0
  180. pulumi_gcp/tpu/v2_vm.py +16 -0
  181. pulumi_gcp/vertex/ai_feature_group_iam_binding.py +236 -0
  182. pulumi_gcp/vertex/ai_feature_group_iam_member.py +236 -0
  183. pulumi_gcp/vertex/ai_feature_group_iam_policy.py +236 -0
  184. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_binding.py +248 -0
  185. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_member.py +248 -0
  186. pulumi_gcp/vertex/ai_feature_online_store_featureview_iam_policy.py +248 -0
  187. pulumi_gcp/vertex/ai_feature_online_store_iam_binding.py +236 -0
  188. pulumi_gcp/vertex/ai_feature_online_store_iam_member.py +236 -0
  189. pulumi_gcp/vertex/ai_feature_online_store_iam_policy.py +236 -0
  190. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_binding.py +238 -0
  191. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_member.py +238 -0
  192. pulumi_gcp/vertex/ai_feature_store_entity_type_iam_policy.py +238 -0
  193. pulumi_gcp/vertex/ai_feature_store_iam_binding.py +248 -0
  194. pulumi_gcp/vertex/ai_feature_store_iam_member.py +248 -0
  195. pulumi_gcp/vertex/ai_feature_store_iam_policy.py +248 -0
  196. pulumi_gcp/vertex/ai_metadata_store.py +16 -0
  197. pulumi_gcp/workstations/workstation.py +16 -0
  198. pulumi_gcp/workstations/workstation_cluster.py +16 -0
  199. pulumi_gcp/workstations/workstation_config.py +16 -0
  200. pulumi_gcp/workstations/workstation_config_iam_binding.py +260 -0
  201. pulumi_gcp/workstations/workstation_config_iam_member.py +260 -0
  202. pulumi_gcp/workstations/workstation_config_iam_policy.py +260 -0
  203. pulumi_gcp/workstations/workstation_iam_binding.py +272 -0
  204. pulumi_gcp/workstations/workstation_iam_member.py +272 -0
  205. pulumi_gcp/workstations/workstation_iam_policy.py +272 -0
  206. {pulumi_gcp-9.0.0a1.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/METADATA +1 -1
  207. {pulumi_gcp-9.0.0a1.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/RECORD +209 -200
  208. {pulumi_gcp-9.0.0a1.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/WHEEL +0 -0
  209. {pulumi_gcp-9.0.0a1.dist-info → pulumi_gcp-9.0.0a1758219982.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,821 @@
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
+
17
+ __all__ = ['WebForwardingRuleServiceIamPolicyArgs', 'WebForwardingRuleServiceIamPolicy']
18
+
19
+ @pulumi.input_type
20
+ class WebForwardingRuleServiceIamPolicyArgs:
21
+ def __init__(__self__, *,
22
+ forwarding_rule_service_name: pulumi.Input[_builtins.str],
23
+ policy_data: pulumi.Input[_builtins.str],
24
+ project: Optional[pulumi.Input[_builtins.str]] = None):
25
+ """
26
+ The set of arguments for constructing a WebForwardingRuleServiceIamPolicy resource.
27
+ :param pulumi.Input[_builtins.str] forwarding_rule_service_name: Used to find the parent resource to bind the IAM policy to
28
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
29
+ a `organizations_get_iam_policy` data source.
30
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
31
+ 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.
32
+ """
33
+ pulumi.set(__self__, "forwarding_rule_service_name", forwarding_rule_service_name)
34
+ pulumi.set(__self__, "policy_data", policy_data)
35
+ if project is not None:
36
+ pulumi.set(__self__, "project", project)
37
+
38
+ @_builtins.property
39
+ @pulumi.getter(name="forwardingRuleServiceName")
40
+ def forwarding_rule_service_name(self) -> pulumi.Input[_builtins.str]:
41
+ """
42
+ Used to find the parent resource to bind the IAM policy to
43
+ """
44
+ return pulumi.get(self, "forwarding_rule_service_name")
45
+
46
+ @forwarding_rule_service_name.setter
47
+ def forwarding_rule_service_name(self, value: pulumi.Input[_builtins.str]):
48
+ pulumi.set(self, "forwarding_rule_service_name", value)
49
+
50
+ @_builtins.property
51
+ @pulumi.getter(name="policyData")
52
+ def policy_data(self) -> pulumi.Input[_builtins.str]:
53
+ """
54
+ The policy data generated by
55
+ a `organizations_get_iam_policy` data source.
56
+ """
57
+ return pulumi.get(self, "policy_data")
58
+
59
+ @policy_data.setter
60
+ def policy_data(self, value: pulumi.Input[_builtins.str]):
61
+ pulumi.set(self, "policy_data", value)
62
+
63
+ @_builtins.property
64
+ @pulumi.getter
65
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
66
+ """
67
+ The ID of the project in which the resource belongs.
68
+ 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.
69
+ """
70
+ return pulumi.get(self, "project")
71
+
72
+ @project.setter
73
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
74
+ pulumi.set(self, "project", value)
75
+
76
+
77
+ @pulumi.input_type
78
+ class _WebForwardingRuleServiceIamPolicyState:
79
+ def __init__(__self__, *,
80
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
81
+ forwarding_rule_service_name: Optional[pulumi.Input[_builtins.str]] = None,
82
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
83
+ project: Optional[pulumi.Input[_builtins.str]] = None):
84
+ """
85
+ Input properties used for looking up and filtering WebForwardingRuleServiceIamPolicy resources.
86
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
87
+ :param pulumi.Input[_builtins.str] forwarding_rule_service_name: Used to find the parent resource to bind the IAM policy to
88
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
89
+ a `organizations_get_iam_policy` data source.
90
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
91
+ 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.
92
+ """
93
+ if etag is not None:
94
+ pulumi.set(__self__, "etag", etag)
95
+ if forwarding_rule_service_name is not None:
96
+ pulumi.set(__self__, "forwarding_rule_service_name", forwarding_rule_service_name)
97
+ if policy_data is not None:
98
+ pulumi.set(__self__, "policy_data", policy_data)
99
+ if project is not None:
100
+ pulumi.set(__self__, "project", project)
101
+
102
+ @_builtins.property
103
+ @pulumi.getter
104
+ def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
105
+ """
106
+ (Computed) The etag of the IAM policy.
107
+ """
108
+ return pulumi.get(self, "etag")
109
+
110
+ @etag.setter
111
+ def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
112
+ pulumi.set(self, "etag", value)
113
+
114
+ @_builtins.property
115
+ @pulumi.getter(name="forwardingRuleServiceName")
116
+ def forwarding_rule_service_name(self) -> Optional[pulumi.Input[_builtins.str]]:
117
+ """
118
+ Used to find the parent resource to bind the IAM policy to
119
+ """
120
+ return pulumi.get(self, "forwarding_rule_service_name")
121
+
122
+ @forwarding_rule_service_name.setter
123
+ def forwarding_rule_service_name(self, value: Optional[pulumi.Input[_builtins.str]]):
124
+ pulumi.set(self, "forwarding_rule_service_name", value)
125
+
126
+ @_builtins.property
127
+ @pulumi.getter(name="policyData")
128
+ def policy_data(self) -> Optional[pulumi.Input[_builtins.str]]:
129
+ """
130
+ The policy data generated by
131
+ a `organizations_get_iam_policy` data source.
132
+ """
133
+ return pulumi.get(self, "policy_data")
134
+
135
+ @policy_data.setter
136
+ def policy_data(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "policy_data", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter
141
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
142
+ """
143
+ The ID of the project in which the resource belongs.
144
+ 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.
145
+ """
146
+ return pulumi.get(self, "project")
147
+
148
+ @project.setter
149
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
150
+ pulumi.set(self, "project", value)
151
+
152
+
153
+ @pulumi.type_token("gcp:iap/webForwardingRuleServiceIamPolicy:WebForwardingRuleServiceIamPolicy")
154
+ class WebForwardingRuleServiceIamPolicy(pulumi.CustomResource):
155
+ @overload
156
+ def __init__(__self__,
157
+ resource_name: str,
158
+ opts: Optional[pulumi.ResourceOptions] = None,
159
+ forwarding_rule_service_name: Optional[pulumi.Input[_builtins.str]] = None,
160
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
161
+ project: Optional[pulumi.Input[_builtins.str]] = None,
162
+ __props__=None):
163
+ """
164
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebForwardingRuleService. Each of these resources serves a different use case:
165
+
166
+ * `iap.WebForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webforwardingruleservice and replaces any existing policy already attached.
167
+ * `iap.WebForwardingRuleServiceIamBinding`: 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 webforwardingruleservice are preserved.
168
+ * `iap.WebForwardingRuleServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webforwardingruleservice are preserved.
169
+
170
+ A data source can be used to retrieve policy data in advent you do not need creation
171
+
172
+ * `iap.WebForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webforwardingruleservice
173
+
174
+ > **Note:** `iap.WebForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebForwardingRuleServiceIamBinding` and `iap.WebForwardingRuleServiceIamMember` or they will fight over what your policy should be.
175
+
176
+ > **Note:** `iap.WebForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
177
+
178
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
179
+
180
+ ## iap.WebForwardingRuleServiceIamPolicy
181
+
182
+ ```python
183
+ import pulumi
184
+ import pulumi_gcp as gcp
185
+
186
+ admin = gcp.organizations.get_iam_policy(bindings=[{
187
+ "role": "roles/iap.httpsResourceAccessor",
188
+ "members": ["user:jane@example.com"],
189
+ }])
190
+ policy = gcp.iap.WebForwardingRuleServiceIamPolicy("policy",
191
+ project=default["project"],
192
+ forwarding_rule_service_name=default["name"],
193
+ policy_data=admin.policy_data)
194
+ ```
195
+
196
+ With IAM Conditions:
197
+
198
+ ```python
199
+ import pulumi
200
+ import pulumi_gcp as gcp
201
+
202
+ admin = gcp.organizations.get_iam_policy(bindings=[{
203
+ "role": "roles/iap.httpsResourceAccessor",
204
+ "members": ["user:jane@example.com"],
205
+ "condition": {
206
+ "title": "expires_after_2019_12_31",
207
+ "description": "Expiring at midnight of 2019-12-31",
208
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
209
+ },
210
+ }])
211
+ policy = gcp.iap.WebForwardingRuleServiceIamPolicy("policy",
212
+ project=default["project"],
213
+ forwarding_rule_service_name=default["name"],
214
+ policy_data=admin.policy_data)
215
+ ```
216
+ ## iap.WebForwardingRuleServiceIamBinding
217
+
218
+ ```python
219
+ import pulumi
220
+ import pulumi_gcp as gcp
221
+
222
+ binding = gcp.iap.WebForwardingRuleServiceIamBinding("binding",
223
+ project=default["project"],
224
+ forwarding_rule_service_name=default["name"],
225
+ role="roles/iap.httpsResourceAccessor",
226
+ members=["user:jane@example.com"])
227
+ ```
228
+
229
+ With IAM Conditions:
230
+
231
+ ```python
232
+ import pulumi
233
+ import pulumi_gcp as gcp
234
+
235
+ binding = gcp.iap.WebForwardingRuleServiceIamBinding("binding",
236
+ project=default["project"],
237
+ forwarding_rule_service_name=default["name"],
238
+ role="roles/iap.httpsResourceAccessor",
239
+ members=["user:jane@example.com"],
240
+ condition={
241
+ "title": "expires_after_2019_12_31",
242
+ "description": "Expiring at midnight of 2019-12-31",
243
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
244
+ })
245
+ ```
246
+ ## iap.WebForwardingRuleServiceIamMember
247
+
248
+ ```python
249
+ import pulumi
250
+ import pulumi_gcp as gcp
251
+
252
+ member = gcp.iap.WebForwardingRuleServiceIamMember("member",
253
+ project=default["project"],
254
+ forwarding_rule_service_name=default["name"],
255
+ role="roles/iap.httpsResourceAccessor",
256
+ member="user:jane@example.com")
257
+ ```
258
+
259
+ With IAM Conditions:
260
+
261
+ ```python
262
+ import pulumi
263
+ import pulumi_gcp as gcp
264
+
265
+ member = gcp.iap.WebForwardingRuleServiceIamMember("member",
266
+ project=default["project"],
267
+ forwarding_rule_service_name=default["name"],
268
+ role="roles/iap.httpsResourceAccessor",
269
+ member="user:jane@example.com",
270
+ condition={
271
+ "title": "expires_after_2019_12_31",
272
+ "description": "Expiring at midnight of 2019-12-31",
273
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
274
+ })
275
+ ```
276
+
277
+ ## This resource supports User Project Overrides.
278
+
279
+ -
280
+
281
+ # IAM policy for Identity-Aware Proxy WebForwardingRuleService
282
+
283
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebForwardingRuleService. Each of these resources serves a different use case:
284
+
285
+ * `iap.WebForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webforwardingruleservice and replaces any existing policy already attached.
286
+ * `iap.WebForwardingRuleServiceIamBinding`: 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 webforwardingruleservice are preserved.
287
+ * `iap.WebForwardingRuleServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webforwardingruleservice are preserved.
288
+
289
+ A data source can be used to retrieve policy data in advent you do not need creation
290
+
291
+ * `iap.WebForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webforwardingruleservice
292
+
293
+ > **Note:** `iap.WebForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebForwardingRuleServiceIamBinding` and `iap.WebForwardingRuleServiceIamMember` or they will fight over what your policy should be.
294
+
295
+ > **Note:** `iap.WebForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
296
+
297
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
298
+
299
+ ## iap.WebForwardingRuleServiceIamPolicy
300
+
301
+ ```python
302
+ import pulumi
303
+ import pulumi_gcp as gcp
304
+
305
+ admin = gcp.organizations.get_iam_policy(bindings=[{
306
+ "role": "roles/iap.httpsResourceAccessor",
307
+ "members": ["user:jane@example.com"],
308
+ }])
309
+ policy = gcp.iap.WebForwardingRuleServiceIamPolicy("policy",
310
+ project=default["project"],
311
+ forwarding_rule_service_name=default["name"],
312
+ policy_data=admin.policy_data)
313
+ ```
314
+
315
+ With IAM Conditions:
316
+
317
+ ```python
318
+ import pulumi
319
+ import pulumi_gcp as gcp
320
+
321
+ admin = gcp.organizations.get_iam_policy(bindings=[{
322
+ "role": "roles/iap.httpsResourceAccessor",
323
+ "members": ["user:jane@example.com"],
324
+ "condition": {
325
+ "title": "expires_after_2019_12_31",
326
+ "description": "Expiring at midnight of 2019-12-31",
327
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
328
+ },
329
+ }])
330
+ policy = gcp.iap.WebForwardingRuleServiceIamPolicy("policy",
331
+ project=default["project"],
332
+ forwarding_rule_service_name=default["name"],
333
+ policy_data=admin.policy_data)
334
+ ```
335
+ ## iap.WebForwardingRuleServiceIamBinding
336
+
337
+ ```python
338
+ import pulumi
339
+ import pulumi_gcp as gcp
340
+
341
+ binding = gcp.iap.WebForwardingRuleServiceIamBinding("binding",
342
+ project=default["project"],
343
+ forwarding_rule_service_name=default["name"],
344
+ role="roles/iap.httpsResourceAccessor",
345
+ members=["user:jane@example.com"])
346
+ ```
347
+
348
+ With IAM Conditions:
349
+
350
+ ```python
351
+ import pulumi
352
+ import pulumi_gcp as gcp
353
+
354
+ binding = gcp.iap.WebForwardingRuleServiceIamBinding("binding",
355
+ project=default["project"],
356
+ forwarding_rule_service_name=default["name"],
357
+ role="roles/iap.httpsResourceAccessor",
358
+ members=["user:jane@example.com"],
359
+ condition={
360
+ "title": "expires_after_2019_12_31",
361
+ "description": "Expiring at midnight of 2019-12-31",
362
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
363
+ })
364
+ ```
365
+ ## iap.WebForwardingRuleServiceIamMember
366
+
367
+ ```python
368
+ import pulumi
369
+ import pulumi_gcp as gcp
370
+
371
+ member = gcp.iap.WebForwardingRuleServiceIamMember("member",
372
+ project=default["project"],
373
+ forwarding_rule_service_name=default["name"],
374
+ role="roles/iap.httpsResourceAccessor",
375
+ member="user:jane@example.com")
376
+ ```
377
+
378
+ With IAM Conditions:
379
+
380
+ ```python
381
+ import pulumi
382
+ import pulumi_gcp as gcp
383
+
384
+ member = gcp.iap.WebForwardingRuleServiceIamMember("member",
385
+ project=default["project"],
386
+ forwarding_rule_service_name=default["name"],
387
+ role="roles/iap.httpsResourceAccessor",
388
+ member="user:jane@example.com",
389
+ condition={
390
+ "title": "expires_after_2019_12_31",
391
+ "description": "Expiring at midnight of 2019-12-31",
392
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
393
+ })
394
+ ```
395
+
396
+ ## Import
397
+
398
+ For all import syntaxes, the "resource in question" can take any of the following forms:
399
+
400
+ * projects/{{project}}/iap_web/forwarding_rule/services/{{name}}
401
+
402
+ * {{project}}/{{name}}
403
+
404
+ * {{name}}
405
+
406
+ Any variables not passed in the import command will be taken from the provider configuration.
407
+
408
+ Identity-Aware Proxy webforwardingruleservice IAM resources can be imported using the resource identifiers, role, and member.
409
+
410
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
411
+
412
+ ```sh
413
+ $ pulumi import gcp:iap/webForwardingRuleServiceIamPolicy:WebForwardingRuleServiceIamPolicy editor "projects/{{project}}/iap_web/forwarding_rule/services/{{web_forwarding_rule_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
414
+ ```
415
+
416
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
417
+
418
+ ```sh
419
+ $ pulumi import gcp:iap/webForwardingRuleServiceIamPolicy:WebForwardingRuleServiceIamPolicy editor "projects/{{project}}/iap_web/forwarding_rule/services/{{web_forwarding_rule_service}} roles/iap.httpsResourceAccessor"
420
+ ```
421
+
422
+ IAM policy imports use the identifier of the resource in question, e.g.
423
+
424
+ ```sh
425
+ $ pulumi import gcp:iap/webForwardingRuleServiceIamPolicy:WebForwardingRuleServiceIamPolicy editor projects/{{project}}/iap_web/forwarding_rule/services/{{web_forwarding_rule_service}}
426
+ ```
427
+
428
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
429
+
430
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
431
+
432
+ :param str resource_name: The name of the resource.
433
+ :param pulumi.ResourceOptions opts: Options for the resource.
434
+ :param pulumi.Input[_builtins.str] forwarding_rule_service_name: Used to find the parent resource to bind the IAM policy to
435
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
436
+ a `organizations_get_iam_policy` data source.
437
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
438
+ 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.
439
+ """
440
+ ...
441
+ @overload
442
+ def __init__(__self__,
443
+ resource_name: str,
444
+ args: WebForwardingRuleServiceIamPolicyArgs,
445
+ opts: Optional[pulumi.ResourceOptions] = None):
446
+ """
447
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebForwardingRuleService. Each of these resources serves a different use case:
448
+
449
+ * `iap.WebForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webforwardingruleservice and replaces any existing policy already attached.
450
+ * `iap.WebForwardingRuleServiceIamBinding`: 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 webforwardingruleservice are preserved.
451
+ * `iap.WebForwardingRuleServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webforwardingruleservice are preserved.
452
+
453
+ A data source can be used to retrieve policy data in advent you do not need creation
454
+
455
+ * `iap.WebForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webforwardingruleservice
456
+
457
+ > **Note:** `iap.WebForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebForwardingRuleServiceIamBinding` and `iap.WebForwardingRuleServiceIamMember` or they will fight over what your policy should be.
458
+
459
+ > **Note:** `iap.WebForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
460
+
461
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
462
+
463
+ ## iap.WebForwardingRuleServiceIamPolicy
464
+
465
+ ```python
466
+ import pulumi
467
+ import pulumi_gcp as gcp
468
+
469
+ admin = gcp.organizations.get_iam_policy(bindings=[{
470
+ "role": "roles/iap.httpsResourceAccessor",
471
+ "members": ["user:jane@example.com"],
472
+ }])
473
+ policy = gcp.iap.WebForwardingRuleServiceIamPolicy("policy",
474
+ project=default["project"],
475
+ forwarding_rule_service_name=default["name"],
476
+ policy_data=admin.policy_data)
477
+ ```
478
+
479
+ With IAM Conditions:
480
+
481
+ ```python
482
+ import pulumi
483
+ import pulumi_gcp as gcp
484
+
485
+ admin = gcp.organizations.get_iam_policy(bindings=[{
486
+ "role": "roles/iap.httpsResourceAccessor",
487
+ "members": ["user:jane@example.com"],
488
+ "condition": {
489
+ "title": "expires_after_2019_12_31",
490
+ "description": "Expiring at midnight of 2019-12-31",
491
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
492
+ },
493
+ }])
494
+ policy = gcp.iap.WebForwardingRuleServiceIamPolicy("policy",
495
+ project=default["project"],
496
+ forwarding_rule_service_name=default["name"],
497
+ policy_data=admin.policy_data)
498
+ ```
499
+ ## iap.WebForwardingRuleServiceIamBinding
500
+
501
+ ```python
502
+ import pulumi
503
+ import pulumi_gcp as gcp
504
+
505
+ binding = gcp.iap.WebForwardingRuleServiceIamBinding("binding",
506
+ project=default["project"],
507
+ forwarding_rule_service_name=default["name"],
508
+ role="roles/iap.httpsResourceAccessor",
509
+ members=["user:jane@example.com"])
510
+ ```
511
+
512
+ With IAM Conditions:
513
+
514
+ ```python
515
+ import pulumi
516
+ import pulumi_gcp as gcp
517
+
518
+ binding = gcp.iap.WebForwardingRuleServiceIamBinding("binding",
519
+ project=default["project"],
520
+ forwarding_rule_service_name=default["name"],
521
+ role="roles/iap.httpsResourceAccessor",
522
+ members=["user:jane@example.com"],
523
+ condition={
524
+ "title": "expires_after_2019_12_31",
525
+ "description": "Expiring at midnight of 2019-12-31",
526
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
527
+ })
528
+ ```
529
+ ## iap.WebForwardingRuleServiceIamMember
530
+
531
+ ```python
532
+ import pulumi
533
+ import pulumi_gcp as gcp
534
+
535
+ member = gcp.iap.WebForwardingRuleServiceIamMember("member",
536
+ project=default["project"],
537
+ forwarding_rule_service_name=default["name"],
538
+ role="roles/iap.httpsResourceAccessor",
539
+ member="user:jane@example.com")
540
+ ```
541
+
542
+ With IAM Conditions:
543
+
544
+ ```python
545
+ import pulumi
546
+ import pulumi_gcp as gcp
547
+
548
+ member = gcp.iap.WebForwardingRuleServiceIamMember("member",
549
+ project=default["project"],
550
+ forwarding_rule_service_name=default["name"],
551
+ role="roles/iap.httpsResourceAccessor",
552
+ member="user:jane@example.com",
553
+ condition={
554
+ "title": "expires_after_2019_12_31",
555
+ "description": "Expiring at midnight of 2019-12-31",
556
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
557
+ })
558
+ ```
559
+
560
+ ## This resource supports User Project Overrides.
561
+
562
+ -
563
+
564
+ # IAM policy for Identity-Aware Proxy WebForwardingRuleService
565
+
566
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebForwardingRuleService. Each of these resources serves a different use case:
567
+
568
+ * `iap.WebForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webforwardingruleservice and replaces any existing policy already attached.
569
+ * `iap.WebForwardingRuleServiceIamBinding`: 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 webforwardingruleservice are preserved.
570
+ * `iap.WebForwardingRuleServiceIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the webforwardingruleservice are preserved.
571
+
572
+ A data source can be used to retrieve policy data in advent you do not need creation
573
+
574
+ * `iap.WebForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webforwardingruleservice
575
+
576
+ > **Note:** `iap.WebForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebForwardingRuleServiceIamBinding` and `iap.WebForwardingRuleServiceIamMember` or they will fight over what your policy should be.
577
+
578
+ > **Note:** `iap.WebForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
579
+
580
+ > **Note:** This resource supports IAM Conditions but they have some known limitations which can be found [here](https://cloud.google.com/iam/docs/conditions-overview#limitations). Please review this article if you are having issues with IAM Conditions.
581
+
582
+ ## iap.WebForwardingRuleServiceIamPolicy
583
+
584
+ ```python
585
+ import pulumi
586
+ import pulumi_gcp as gcp
587
+
588
+ admin = gcp.organizations.get_iam_policy(bindings=[{
589
+ "role": "roles/iap.httpsResourceAccessor",
590
+ "members": ["user:jane@example.com"],
591
+ }])
592
+ policy = gcp.iap.WebForwardingRuleServiceIamPolicy("policy",
593
+ project=default["project"],
594
+ forwarding_rule_service_name=default["name"],
595
+ policy_data=admin.policy_data)
596
+ ```
597
+
598
+ With IAM Conditions:
599
+
600
+ ```python
601
+ import pulumi
602
+ import pulumi_gcp as gcp
603
+
604
+ admin = gcp.organizations.get_iam_policy(bindings=[{
605
+ "role": "roles/iap.httpsResourceAccessor",
606
+ "members": ["user:jane@example.com"],
607
+ "condition": {
608
+ "title": "expires_after_2019_12_31",
609
+ "description": "Expiring at midnight of 2019-12-31",
610
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
611
+ },
612
+ }])
613
+ policy = gcp.iap.WebForwardingRuleServiceIamPolicy("policy",
614
+ project=default["project"],
615
+ forwarding_rule_service_name=default["name"],
616
+ policy_data=admin.policy_data)
617
+ ```
618
+ ## iap.WebForwardingRuleServiceIamBinding
619
+
620
+ ```python
621
+ import pulumi
622
+ import pulumi_gcp as gcp
623
+
624
+ binding = gcp.iap.WebForwardingRuleServiceIamBinding("binding",
625
+ project=default["project"],
626
+ forwarding_rule_service_name=default["name"],
627
+ role="roles/iap.httpsResourceAccessor",
628
+ members=["user:jane@example.com"])
629
+ ```
630
+
631
+ With IAM Conditions:
632
+
633
+ ```python
634
+ import pulumi
635
+ import pulumi_gcp as gcp
636
+
637
+ binding = gcp.iap.WebForwardingRuleServiceIamBinding("binding",
638
+ project=default["project"],
639
+ forwarding_rule_service_name=default["name"],
640
+ role="roles/iap.httpsResourceAccessor",
641
+ members=["user:jane@example.com"],
642
+ condition={
643
+ "title": "expires_after_2019_12_31",
644
+ "description": "Expiring at midnight of 2019-12-31",
645
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
646
+ })
647
+ ```
648
+ ## iap.WebForwardingRuleServiceIamMember
649
+
650
+ ```python
651
+ import pulumi
652
+ import pulumi_gcp as gcp
653
+
654
+ member = gcp.iap.WebForwardingRuleServiceIamMember("member",
655
+ project=default["project"],
656
+ forwarding_rule_service_name=default["name"],
657
+ role="roles/iap.httpsResourceAccessor",
658
+ member="user:jane@example.com")
659
+ ```
660
+
661
+ With IAM Conditions:
662
+
663
+ ```python
664
+ import pulumi
665
+ import pulumi_gcp as gcp
666
+
667
+ member = gcp.iap.WebForwardingRuleServiceIamMember("member",
668
+ project=default["project"],
669
+ forwarding_rule_service_name=default["name"],
670
+ role="roles/iap.httpsResourceAccessor",
671
+ member="user:jane@example.com",
672
+ condition={
673
+ "title": "expires_after_2019_12_31",
674
+ "description": "Expiring at midnight of 2019-12-31",
675
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
676
+ })
677
+ ```
678
+
679
+ ## Import
680
+
681
+ For all import syntaxes, the "resource in question" can take any of the following forms:
682
+
683
+ * projects/{{project}}/iap_web/forwarding_rule/services/{{name}}
684
+
685
+ * {{project}}/{{name}}
686
+
687
+ * {{name}}
688
+
689
+ Any variables not passed in the import command will be taken from the provider configuration.
690
+
691
+ Identity-Aware Proxy webforwardingruleservice IAM resources can be imported using the resource identifiers, role, and member.
692
+
693
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
694
+
695
+ ```sh
696
+ $ pulumi import gcp:iap/webForwardingRuleServiceIamPolicy:WebForwardingRuleServiceIamPolicy editor "projects/{{project}}/iap_web/forwarding_rule/services/{{web_forwarding_rule_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
697
+ ```
698
+
699
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
700
+
701
+ ```sh
702
+ $ pulumi import gcp:iap/webForwardingRuleServiceIamPolicy:WebForwardingRuleServiceIamPolicy editor "projects/{{project}}/iap_web/forwarding_rule/services/{{web_forwarding_rule_service}} roles/iap.httpsResourceAccessor"
703
+ ```
704
+
705
+ IAM policy imports use the identifier of the resource in question, e.g.
706
+
707
+ ```sh
708
+ $ pulumi import gcp:iap/webForwardingRuleServiceIamPolicy:WebForwardingRuleServiceIamPolicy editor projects/{{project}}/iap_web/forwarding_rule/services/{{web_forwarding_rule_service}}
709
+ ```
710
+
711
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
712
+
713
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
714
+
715
+ :param str resource_name: The name of the resource.
716
+ :param WebForwardingRuleServiceIamPolicyArgs args: The arguments to use to populate this resource's properties.
717
+ :param pulumi.ResourceOptions opts: Options for the resource.
718
+ """
719
+ ...
720
+ def __init__(__self__, resource_name: str, *args, **kwargs):
721
+ resource_args, opts = _utilities.get_resource_args_opts(WebForwardingRuleServiceIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
722
+ if resource_args is not None:
723
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
724
+ else:
725
+ __self__._internal_init(resource_name, *args, **kwargs)
726
+
727
+ def _internal_init(__self__,
728
+ resource_name: str,
729
+ opts: Optional[pulumi.ResourceOptions] = None,
730
+ forwarding_rule_service_name: Optional[pulumi.Input[_builtins.str]] = None,
731
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
732
+ project: Optional[pulumi.Input[_builtins.str]] = None,
733
+ __props__=None):
734
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
735
+ if not isinstance(opts, pulumi.ResourceOptions):
736
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
737
+ if opts.id is None:
738
+ if __props__ is not None:
739
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
740
+ __props__ = WebForwardingRuleServiceIamPolicyArgs.__new__(WebForwardingRuleServiceIamPolicyArgs)
741
+
742
+ if forwarding_rule_service_name is None and not opts.urn:
743
+ raise TypeError("Missing required property 'forwarding_rule_service_name'")
744
+ __props__.__dict__["forwarding_rule_service_name"] = forwarding_rule_service_name
745
+ if policy_data is None and not opts.urn:
746
+ raise TypeError("Missing required property 'policy_data'")
747
+ __props__.__dict__["policy_data"] = policy_data
748
+ __props__.__dict__["project"] = project
749
+ __props__.__dict__["etag"] = None
750
+ super(WebForwardingRuleServiceIamPolicy, __self__).__init__(
751
+ 'gcp:iap/webForwardingRuleServiceIamPolicy:WebForwardingRuleServiceIamPolicy',
752
+ resource_name,
753
+ __props__,
754
+ opts)
755
+
756
+ @staticmethod
757
+ def get(resource_name: str,
758
+ id: pulumi.Input[str],
759
+ opts: Optional[pulumi.ResourceOptions] = None,
760
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
761
+ forwarding_rule_service_name: Optional[pulumi.Input[_builtins.str]] = None,
762
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
763
+ project: Optional[pulumi.Input[_builtins.str]] = None) -> 'WebForwardingRuleServiceIamPolicy':
764
+ """
765
+ Get an existing WebForwardingRuleServiceIamPolicy resource's state with the given name, id, and optional extra
766
+ properties used to qualify the lookup.
767
+
768
+ :param str resource_name: The unique name of the resulting resource.
769
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
770
+ :param pulumi.ResourceOptions opts: Options for the resource.
771
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
772
+ :param pulumi.Input[_builtins.str] forwarding_rule_service_name: Used to find the parent resource to bind the IAM policy to
773
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
774
+ a `organizations_get_iam_policy` data source.
775
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
776
+ 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.
777
+ """
778
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
779
+
780
+ __props__ = _WebForwardingRuleServiceIamPolicyState.__new__(_WebForwardingRuleServiceIamPolicyState)
781
+
782
+ __props__.__dict__["etag"] = etag
783
+ __props__.__dict__["forwarding_rule_service_name"] = forwarding_rule_service_name
784
+ __props__.__dict__["policy_data"] = policy_data
785
+ __props__.__dict__["project"] = project
786
+ return WebForwardingRuleServiceIamPolicy(resource_name, opts=opts, __props__=__props__)
787
+
788
+ @_builtins.property
789
+ @pulumi.getter
790
+ def etag(self) -> pulumi.Output[_builtins.str]:
791
+ """
792
+ (Computed) The etag of the IAM policy.
793
+ """
794
+ return pulumi.get(self, "etag")
795
+
796
+ @_builtins.property
797
+ @pulumi.getter(name="forwardingRuleServiceName")
798
+ def forwarding_rule_service_name(self) -> pulumi.Output[_builtins.str]:
799
+ """
800
+ Used to find the parent resource to bind the IAM policy to
801
+ """
802
+ return pulumi.get(self, "forwarding_rule_service_name")
803
+
804
+ @_builtins.property
805
+ @pulumi.getter(name="policyData")
806
+ def policy_data(self) -> pulumi.Output[_builtins.str]:
807
+ """
808
+ The policy data generated by
809
+ a `organizations_get_iam_policy` data source.
810
+ """
811
+ return pulumi.get(self, "policy_data")
812
+
813
+ @_builtins.property
814
+ @pulumi.getter
815
+ def project(self) -> pulumi.Output[_builtins.str]:
816
+ """
817
+ The ID of the project in which the resource belongs.
818
+ 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.
819
+ """
820
+ return pulumi.get(self, "project")
821
+