pulumi-gcp 8.42.0a1756925793__py3-none-any.whl → 9.0.0a1__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 (149) hide show
  1. pulumi_gcp/__init__.py +35 -48
  2. pulumi_gcp/alloydb/backup.py +8 -4
  3. pulumi_gcp/alloydb/cluster.py +56 -10
  4. pulumi_gcp/alloydb/get_cluster.py +12 -1
  5. pulumi_gcp/alloydb/instance.py +10 -4
  6. pulumi_gcp/alloydb/user.py +8 -4
  7. pulumi_gcp/apigee/_inputs.py +151 -108
  8. pulumi_gcp/apigee/keystores_aliases_key_cert_file.py +52 -40
  9. pulumi_gcp/apigee/outputs.py +92 -88
  10. pulumi_gcp/artifactregistry/__init__.py +1 -0
  11. pulumi_gcp/artifactregistry/_inputs.py +0 -12
  12. pulumi_gcp/artifactregistry/get_npm_package.py +251 -0
  13. pulumi_gcp/artifactregistry/outputs.py +8 -16
  14. pulumi_gcp/beyondcorp/__init__.py +0 -5
  15. pulumi_gcp/beyondcorp/_inputs.py +0 -312
  16. pulumi_gcp/beyondcorp/outputs.py +0 -200
  17. pulumi_gcp/bigquery/_inputs.py +114 -4
  18. pulumi_gcp/bigquery/app_profile.py +52 -19
  19. pulumi_gcp/bigquery/dataset_access.py +8 -4
  20. pulumi_gcp/bigquery/outputs.py +75 -5
  21. pulumi_gcp/bigquery/table.py +21 -7
  22. pulumi_gcp/bigtable/app_profile.py +50 -15
  23. pulumi_gcp/bigtable/get_table_iam_policy.py +16 -18
  24. pulumi_gcp/bigtable/table.py +42 -42
  25. pulumi_gcp/bigtable/table_iam_binding.py +43 -43
  26. pulumi_gcp/bigtable/table_iam_member.py +43 -43
  27. pulumi_gcp/bigtable/table_iam_policy.py +43 -43
  28. pulumi_gcp/billing/_inputs.py +0 -6
  29. pulumi_gcp/billing/outputs.py +0 -4
  30. pulumi_gcp/certificatemanager/__init__.py +1 -0
  31. pulumi_gcp/certificatemanager/get_dns_authorization.py +229 -0
  32. pulumi_gcp/certificatemanager/outputs.py +41 -0
  33. pulumi_gcp/cloudbuild/_inputs.py +289 -45
  34. pulumi_gcp/cloudbuild/bitbucket_server_config.py +2 -6
  35. pulumi_gcp/cloudbuild/get_trigger.py +12 -1
  36. pulumi_gcp/cloudbuild/outputs.py +366 -30
  37. pulumi_gcp/cloudbuild/trigger.py +156 -0
  38. pulumi_gcp/cloudbuild/worker_pool.py +23 -34
  39. pulumi_gcp/cloudfunctions/function.py +8 -4
  40. pulumi_gcp/cloudfunctionsv2/_inputs.py +23 -21
  41. pulumi_gcp/cloudfunctionsv2/outputs.py +17 -16
  42. pulumi_gcp/cloudrunv2/_inputs.py +23 -26
  43. pulumi_gcp/cloudrunv2/outputs.py +28 -30
  44. pulumi_gcp/cloudrunv2/service.py +18 -12
  45. pulumi_gcp/cloudtasks/queue.py +98 -2
  46. pulumi_gcp/colab/_inputs.py +1 -114
  47. pulumi_gcp/colab/outputs.py +1 -106
  48. pulumi_gcp/composer/environment.py +49 -28
  49. pulumi_gcp/compute/_inputs.py +80 -0
  50. pulumi_gcp/compute/backend_bucket.py +54 -0
  51. pulumi_gcp/compute/backend_service.py +54 -0
  52. pulumi_gcp/compute/get_backend_bucket.py +12 -1
  53. pulumi_gcp/compute/get_backend_service.py +12 -1
  54. pulumi_gcp/compute/instance_from_machine_image.py +110 -75
  55. pulumi_gcp/compute/instance_from_template.py +110 -75
  56. pulumi_gcp/compute/instance_group_manager.py +14 -7
  57. pulumi_gcp/compute/instance_template.py +14 -7
  58. pulumi_gcp/compute/interconnect.py +8 -4
  59. pulumi_gcp/compute/network_peering_routes_config.py +0 -100
  60. pulumi_gcp/compute/organization_security_policy.py +83 -51
  61. pulumi_gcp/compute/outputs.py +128 -0
  62. pulumi_gcp/compute/packet_mirroring.py +6 -0
  63. pulumi_gcp/compute/region_instance_group_manager.py +14 -7
  64. pulumi_gcp/compute/subnetwork.py +0 -98
  65. pulumi_gcp/config/__init__.pyi +2 -2
  66. pulumi_gcp/config/vars.py +4 -4
  67. pulumi_gcp/container/_inputs.py +20 -0
  68. pulumi_gcp/container/aws_cluster.py +42 -28
  69. pulumi_gcp/container/aws_node_pool.py +42 -28
  70. pulumi_gcp/container/azure_cluster.py +70 -35
  71. pulumi_gcp/container/azure_node_pool.py +42 -28
  72. pulumi_gcp/container/outputs.py +25 -0
  73. pulumi_gcp/databasemigrationservice/connection_profile.py +4 -2
  74. pulumi_gcp/databasemigrationservice/migration_job.py +4 -2
  75. pulumi_gcp/dataplex/asset.py +21 -28
  76. pulumi_gcp/dataplex/zone.py +21 -28
  77. pulumi_gcp/dataproc/cluster.py +14 -21
  78. pulumi_gcp/dataproc/workflow_template.py +105 -42
  79. pulumi_gcp/diagflow/_inputs.py +152 -0
  80. pulumi_gcp/diagflow/cx_agent.py +425 -0
  81. pulumi_gcp/diagflow/outputs.py +143 -0
  82. pulumi_gcp/firebase/app_check_play_integrity_config.py +4 -8
  83. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +2 -4
  84. pulumi_gcp/firebase/app_check_service_config.py +6 -12
  85. pulumi_gcp/firebase/app_hosting_backend.py +4 -8
  86. pulumi_gcp/firebase/app_hosting_build.py +4 -8
  87. pulumi_gcp/firebase/app_hosting_traffic.py +6 -12
  88. pulumi_gcp/firebase/data_connect_service.py +4 -8
  89. pulumi_gcp/firebase/database_instance.py +4 -8
  90. pulumi_gcp/gkehub/_inputs.py +0 -60
  91. pulumi_gcp/gkehub/get_membership.py +1 -12
  92. pulumi_gcp/gkehub/membership.py +0 -70
  93. pulumi_gcp/gkehub/outputs.py +0 -36
  94. pulumi_gcp/iap/__init__.py +4 -0
  95. pulumi_gcp/iap/_inputs.py +130 -0
  96. pulumi_gcp/iap/get_web_region_forwarding_rule_service_iam_policy.py +182 -0
  97. pulumi_gcp/iap/outputs.py +76 -0
  98. pulumi_gcp/{beyondcorp/application_iam_binding.py → iap/web_region_forwarding_rule_service_iam_binding.py} +321 -314
  99. pulumi_gcp/{beyondcorp/application_iam_member.py → iap/web_region_forwarding_rule_service_iam_member.py} +321 -314
  100. pulumi_gcp/iap/web_region_forwarding_rule_service_iam_policy.py +910 -0
  101. pulumi_gcp/kms/autokey_config.py +0 -2
  102. pulumi_gcp/kms/key_handle.py +0 -2
  103. pulumi_gcp/logging/billing_account_bucket_config.py +21 -7
  104. pulumi_gcp/logging/folder_bucket_config.py +21 -7
  105. pulumi_gcp/logging/organization_bucket_config.py +21 -7
  106. pulumi_gcp/memorystore/get_instance.py +1 -12
  107. pulumi_gcp/memorystore/instance.py +0 -70
  108. pulumi_gcp/monitoring/dashboard.py +14 -7
  109. pulumi_gcp/networkservices/lb_traffic_extension.py +24 -23
  110. pulumi_gcp/notebooks/__init__.py +0 -1
  111. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +3 -3
  112. pulumi_gcp/organizations/project.py +21 -7
  113. pulumi_gcp/projects/service.py +2 -4
  114. pulumi_gcp/provider.py +20 -20
  115. pulumi_gcp/pulumi-plugin.json +1 -1
  116. pulumi_gcp/redis/cluster.py +0 -70
  117. pulumi_gcp/redis/get_cluster.py +1 -12
  118. pulumi_gcp/saasruntime/__init__.py +11 -0
  119. pulumi_gcp/saasruntime/_inputs.py +55 -0
  120. pulumi_gcp/saasruntime/outputs.py +39 -0
  121. pulumi_gcp/saasruntime/saa_s.py +815 -0
  122. pulumi_gcp/securesourcemanager/_inputs.py +20 -19
  123. pulumi_gcp/securesourcemanager/outputs.py +15 -14
  124. pulumi_gcp/serviceaccount/get_account_key.py +1 -21
  125. pulumi_gcp/sql/database_instance.py +61 -7
  126. pulumi_gcp/sql/get_database_instance.py +12 -1
  127. pulumi_gcp/sql/outputs.py +11 -0
  128. pulumi_gcp/sql/user.py +61 -0
  129. pulumi_gcp/storage/_inputs.py +7 -7
  130. pulumi_gcp/storage/bucket.py +14 -7
  131. pulumi_gcp/storage/outputs.py +7 -7
  132. pulumi_gcp/tpu/__init__.py +0 -2
  133. pulumi_gcp/tpu/_inputs.py +0 -93
  134. pulumi_gcp/tpu/outputs.py +0 -72
  135. pulumi_gcp/vertex/_inputs.py +8 -9
  136. pulumi_gcp/vertex/ai_endpoint.py +2 -4
  137. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +0 -2
  138. pulumi_gcp/vertex/ai_index.py +24 -23
  139. pulumi_gcp/vertex/outputs.py +7 -8
  140. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/METADATA +1 -1
  141. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/RECORD +143 -141
  142. pulumi_gcp/beyondcorp/application.py +0 -746
  143. pulumi_gcp/beyondcorp/application_iam_policy.py +0 -903
  144. pulumi_gcp/beyondcorp/get_application_iam_policy.py +0 -182
  145. pulumi_gcp/notebooks/location.py +0 -285
  146. pulumi_gcp/tpu/get_tensorflow_versions.py +0 -184
  147. pulumi_gcp/tpu/node.py +0 -1062
  148. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/WHEEL +0 -0
  149. {pulumi_gcp-8.42.0a1756925793.dist-info → pulumi_gcp-9.0.0a1.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,910 @@
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__ = ['WebRegionForwardingRuleServiceIamPolicyArgs', 'WebRegionForwardingRuleServiceIamPolicy']
18
+
19
+ @pulumi.input_type
20
+ class WebRegionForwardingRuleServiceIamPolicyArgs:
21
+ def __init__(__self__, *,
22
+ forwarding_rule_region_service_name: pulumi.Input[_builtins.str],
23
+ policy_data: pulumi.Input[_builtins.str],
24
+ project: Optional[pulumi.Input[_builtins.str]] = None,
25
+ region: Optional[pulumi.Input[_builtins.str]] = None):
26
+ """
27
+ The set of arguments for constructing a WebRegionForwardingRuleServiceIamPolicy resource.
28
+ :param pulumi.Input[_builtins.str] forwarding_rule_region_service_name: Used to find the parent resource to bind the IAM policy to
29
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
30
+ a `organizations_get_iam_policy` data source.
31
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
32
+ 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.
33
+ :param pulumi.Input[_builtins.str] region: Used to find the parent resource to bind the IAM policy to. If not specified,
34
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
35
+ region is specified, it is taken from the provider configuration.
36
+ """
37
+ pulumi.set(__self__, "forwarding_rule_region_service_name", forwarding_rule_region_service_name)
38
+ pulumi.set(__self__, "policy_data", policy_data)
39
+ if project is not None:
40
+ pulumi.set(__self__, "project", project)
41
+ if region is not None:
42
+ pulumi.set(__self__, "region", region)
43
+
44
+ @_builtins.property
45
+ @pulumi.getter(name="forwardingRuleRegionServiceName")
46
+ def forwarding_rule_region_service_name(self) -> pulumi.Input[_builtins.str]:
47
+ """
48
+ Used to find the parent resource to bind the IAM policy to
49
+ """
50
+ return pulumi.get(self, "forwarding_rule_region_service_name")
51
+
52
+ @forwarding_rule_region_service_name.setter
53
+ def forwarding_rule_region_service_name(self, value: pulumi.Input[_builtins.str]):
54
+ pulumi.set(self, "forwarding_rule_region_service_name", value)
55
+
56
+ @_builtins.property
57
+ @pulumi.getter(name="policyData")
58
+ def policy_data(self) -> pulumi.Input[_builtins.str]:
59
+ """
60
+ The policy data generated by
61
+ a `organizations_get_iam_policy` data source.
62
+ """
63
+ return pulumi.get(self, "policy_data")
64
+
65
+ @policy_data.setter
66
+ def policy_data(self, value: pulumi.Input[_builtins.str]):
67
+ pulumi.set(self, "policy_data", value)
68
+
69
+ @_builtins.property
70
+ @pulumi.getter
71
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
72
+ """
73
+ The ID of the project in which the resource belongs.
74
+ 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.
75
+ """
76
+ return pulumi.get(self, "project")
77
+
78
+ @project.setter
79
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
80
+ pulumi.set(self, "project", value)
81
+
82
+ @_builtins.property
83
+ @pulumi.getter
84
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
85
+ """
86
+ Used to find the parent resource to bind the IAM policy to. If not specified,
87
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
88
+ region is specified, it is taken from the provider configuration.
89
+ """
90
+ return pulumi.get(self, "region")
91
+
92
+ @region.setter
93
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
94
+ pulumi.set(self, "region", value)
95
+
96
+
97
+ @pulumi.input_type
98
+ class _WebRegionForwardingRuleServiceIamPolicyState:
99
+ def __init__(__self__, *,
100
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
101
+ forwarding_rule_region_service_name: Optional[pulumi.Input[_builtins.str]] = None,
102
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
103
+ project: Optional[pulumi.Input[_builtins.str]] = None,
104
+ region: Optional[pulumi.Input[_builtins.str]] = None):
105
+ """
106
+ Input properties used for looking up and filtering WebRegionForwardingRuleServiceIamPolicy resources.
107
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
108
+ :param pulumi.Input[_builtins.str] forwarding_rule_region_service_name: Used to find the parent resource to bind the IAM policy to
109
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
110
+ a `organizations_get_iam_policy` data source.
111
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
112
+ 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.
113
+ :param pulumi.Input[_builtins.str] region: Used to find the parent resource to bind the IAM policy to. If not specified,
114
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
115
+ region is specified, it is taken from the provider configuration.
116
+ """
117
+ if etag is not None:
118
+ pulumi.set(__self__, "etag", etag)
119
+ if forwarding_rule_region_service_name is not None:
120
+ pulumi.set(__self__, "forwarding_rule_region_service_name", forwarding_rule_region_service_name)
121
+ if policy_data is not None:
122
+ pulumi.set(__self__, "policy_data", policy_data)
123
+ if project is not None:
124
+ pulumi.set(__self__, "project", project)
125
+ if region is not None:
126
+ pulumi.set(__self__, "region", region)
127
+
128
+ @_builtins.property
129
+ @pulumi.getter
130
+ def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
131
+ """
132
+ (Computed) The etag of the IAM policy.
133
+ """
134
+ return pulumi.get(self, "etag")
135
+
136
+ @etag.setter
137
+ def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
138
+ pulumi.set(self, "etag", value)
139
+
140
+ @_builtins.property
141
+ @pulumi.getter(name="forwardingRuleRegionServiceName")
142
+ def forwarding_rule_region_service_name(self) -> Optional[pulumi.Input[_builtins.str]]:
143
+ """
144
+ Used to find the parent resource to bind the IAM policy to
145
+ """
146
+ return pulumi.get(self, "forwarding_rule_region_service_name")
147
+
148
+ @forwarding_rule_region_service_name.setter
149
+ def forwarding_rule_region_service_name(self, value: Optional[pulumi.Input[_builtins.str]]):
150
+ pulumi.set(self, "forwarding_rule_region_service_name", value)
151
+
152
+ @_builtins.property
153
+ @pulumi.getter(name="policyData")
154
+ def policy_data(self) -> Optional[pulumi.Input[_builtins.str]]:
155
+ """
156
+ The policy data generated by
157
+ a `organizations_get_iam_policy` data source.
158
+ """
159
+ return pulumi.get(self, "policy_data")
160
+
161
+ @policy_data.setter
162
+ def policy_data(self, value: Optional[pulumi.Input[_builtins.str]]):
163
+ pulumi.set(self, "policy_data", value)
164
+
165
+ @_builtins.property
166
+ @pulumi.getter
167
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
168
+ """
169
+ The ID of the project in which the resource belongs.
170
+ 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.
171
+ """
172
+ return pulumi.get(self, "project")
173
+
174
+ @project.setter
175
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
176
+ pulumi.set(self, "project", value)
177
+
178
+ @_builtins.property
179
+ @pulumi.getter
180
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
181
+ """
182
+ Used to find the parent resource to bind the IAM policy to. If not specified,
183
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
184
+ region is specified, it is taken from the provider configuration.
185
+ """
186
+ return pulumi.get(self, "region")
187
+
188
+ @region.setter
189
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
190
+ pulumi.set(self, "region", value)
191
+
192
+
193
+ @pulumi.type_token("gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy")
194
+ class WebRegionForwardingRuleServiceIamPolicy(pulumi.CustomResource):
195
+ @overload
196
+ def __init__(__self__,
197
+ resource_name: str,
198
+ opts: Optional[pulumi.ResourceOptions] = None,
199
+ forwarding_rule_region_service_name: Optional[pulumi.Input[_builtins.str]] = None,
200
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
201
+ project: Optional[pulumi.Input[_builtins.str]] = None,
202
+ region: Optional[pulumi.Input[_builtins.str]] = None,
203
+ __props__=None):
204
+ """
205
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService. Each of these resources serves a different use case:
206
+
207
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webregionforwardingruleservice and replaces any existing policy already attached.
208
+ * `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.
209
+ * `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.
210
+
211
+ A data source can be used to retrieve policy data in advent you do not need creation
212
+
213
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webregionforwardingruleservice
214
+
215
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebRegionForwardingRuleServiceIamBinding` and `iap.WebRegionForwardingRuleServiceIamMember` or they will fight over what your policy should be.
216
+
217
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebRegionForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
218
+
219
+ > **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.
220
+
221
+ ## iap.WebRegionForwardingRuleServiceIamPolicy
222
+
223
+ ```python
224
+ import pulumi
225
+ import pulumi_gcp as gcp
226
+
227
+ admin = gcp.organizations.get_iam_policy(bindings=[{
228
+ "role": "roles/iap.httpsResourceAccessor",
229
+ "members": ["user:jane@example.com"],
230
+ }])
231
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
232
+ project=default["project"],
233
+ region=default["region"],
234
+ forwarding_rule_region_service_name=default["name"],
235
+ policy_data=admin.policy_data)
236
+ ```
237
+
238
+ With IAM Conditions:
239
+
240
+ ```python
241
+ import pulumi
242
+ import pulumi_gcp as gcp
243
+
244
+ admin = gcp.organizations.get_iam_policy(bindings=[{
245
+ "role": "roles/iap.httpsResourceAccessor",
246
+ "members": ["user:jane@example.com"],
247
+ "condition": {
248
+ "title": "expires_after_2019_12_31",
249
+ "description": "Expiring at midnight of 2019-12-31",
250
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
251
+ },
252
+ }])
253
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
254
+ project=default["project"],
255
+ region=default["region"],
256
+ forwarding_rule_region_service_name=default["name"],
257
+ policy_data=admin.policy_data)
258
+ ```
259
+ ## iap.WebRegionForwardingRuleServiceIamBinding
260
+
261
+ ```python
262
+ import pulumi
263
+ import pulumi_gcp as gcp
264
+
265
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
266
+ project=default["project"],
267
+ region=default["region"],
268
+ forwarding_rule_region_service_name=default["name"],
269
+ role="roles/iap.httpsResourceAccessor",
270
+ members=["user:jane@example.com"])
271
+ ```
272
+
273
+ With IAM Conditions:
274
+
275
+ ```python
276
+ import pulumi
277
+ import pulumi_gcp as gcp
278
+
279
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
280
+ project=default["project"],
281
+ region=default["region"],
282
+ forwarding_rule_region_service_name=default["name"],
283
+ role="roles/iap.httpsResourceAccessor",
284
+ members=["user:jane@example.com"],
285
+ condition={
286
+ "title": "expires_after_2019_12_31",
287
+ "description": "Expiring at midnight of 2019-12-31",
288
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
289
+ })
290
+ ```
291
+ ## iap.WebRegionForwardingRuleServiceIamMember
292
+
293
+ ```python
294
+ import pulumi
295
+ import pulumi_gcp as gcp
296
+
297
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
298
+ project=default["project"],
299
+ region=default["region"],
300
+ forwarding_rule_region_service_name=default["name"],
301
+ role="roles/iap.httpsResourceAccessor",
302
+ member="user:jane@example.com")
303
+ ```
304
+
305
+ With IAM Conditions:
306
+
307
+ ```python
308
+ import pulumi
309
+ import pulumi_gcp as gcp
310
+
311
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
312
+ project=default["project"],
313
+ region=default["region"],
314
+ forwarding_rule_region_service_name=default["name"],
315
+ role="roles/iap.httpsResourceAccessor",
316
+ member="user:jane@example.com",
317
+ condition={
318
+ "title": "expires_after_2019_12_31",
319
+ "description": "Expiring at midnight of 2019-12-31",
320
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
321
+ })
322
+ ```
323
+
324
+ ## This resource supports User Project Overrides.
325
+
326
+ -
327
+
328
+ # IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService
329
+
330
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService. Each of these resources serves a different use case:
331
+
332
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webregionforwardingruleservice and replaces any existing policy already attached.
333
+ * `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.
334
+ * `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.
335
+
336
+ A data source can be used to retrieve policy data in advent you do not need creation
337
+
338
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webregionforwardingruleservice
339
+
340
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebRegionForwardingRuleServiceIamBinding` and `iap.WebRegionForwardingRuleServiceIamMember` or they will fight over what your policy should be.
341
+
342
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebRegionForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
343
+
344
+ > **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.
345
+
346
+ ## iap.WebRegionForwardingRuleServiceIamPolicy
347
+
348
+ ```python
349
+ import pulumi
350
+ import pulumi_gcp as gcp
351
+
352
+ admin = gcp.organizations.get_iam_policy(bindings=[{
353
+ "role": "roles/iap.httpsResourceAccessor",
354
+ "members": ["user:jane@example.com"],
355
+ }])
356
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
357
+ project=default["project"],
358
+ region=default["region"],
359
+ forwarding_rule_region_service_name=default["name"],
360
+ policy_data=admin.policy_data)
361
+ ```
362
+
363
+ With IAM Conditions:
364
+
365
+ ```python
366
+ import pulumi
367
+ import pulumi_gcp as gcp
368
+
369
+ admin = gcp.organizations.get_iam_policy(bindings=[{
370
+ "role": "roles/iap.httpsResourceAccessor",
371
+ "members": ["user:jane@example.com"],
372
+ "condition": {
373
+ "title": "expires_after_2019_12_31",
374
+ "description": "Expiring at midnight of 2019-12-31",
375
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
376
+ },
377
+ }])
378
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
379
+ project=default["project"],
380
+ region=default["region"],
381
+ forwarding_rule_region_service_name=default["name"],
382
+ policy_data=admin.policy_data)
383
+ ```
384
+ ## iap.WebRegionForwardingRuleServiceIamBinding
385
+
386
+ ```python
387
+ import pulumi
388
+ import pulumi_gcp as gcp
389
+
390
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
391
+ project=default["project"],
392
+ region=default["region"],
393
+ forwarding_rule_region_service_name=default["name"],
394
+ role="roles/iap.httpsResourceAccessor",
395
+ members=["user:jane@example.com"])
396
+ ```
397
+
398
+ With IAM Conditions:
399
+
400
+ ```python
401
+ import pulumi
402
+ import pulumi_gcp as gcp
403
+
404
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
405
+ project=default["project"],
406
+ region=default["region"],
407
+ forwarding_rule_region_service_name=default["name"],
408
+ role="roles/iap.httpsResourceAccessor",
409
+ members=["user:jane@example.com"],
410
+ condition={
411
+ "title": "expires_after_2019_12_31",
412
+ "description": "Expiring at midnight of 2019-12-31",
413
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
414
+ })
415
+ ```
416
+ ## iap.WebRegionForwardingRuleServiceIamMember
417
+
418
+ ```python
419
+ import pulumi
420
+ import pulumi_gcp as gcp
421
+
422
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
423
+ project=default["project"],
424
+ region=default["region"],
425
+ forwarding_rule_region_service_name=default["name"],
426
+ role="roles/iap.httpsResourceAccessor",
427
+ member="user:jane@example.com")
428
+ ```
429
+
430
+ With IAM Conditions:
431
+
432
+ ```python
433
+ import pulumi
434
+ import pulumi_gcp as gcp
435
+
436
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
437
+ project=default["project"],
438
+ region=default["region"],
439
+ forwarding_rule_region_service_name=default["name"],
440
+ role="roles/iap.httpsResourceAccessor",
441
+ member="user:jane@example.com",
442
+ condition={
443
+ "title": "expires_after_2019_12_31",
444
+ "description": "Expiring at midnight of 2019-12-31",
445
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
446
+ })
447
+ ```
448
+
449
+ ## Import
450
+
451
+ For all import syntaxes, the "resource in question" can take any of the following forms:
452
+
453
+ * projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{name}}
454
+
455
+ * {{project}}/{{region}}/{{name}}
456
+
457
+ * {{region}}/{{name}}
458
+
459
+ * {{name}}
460
+
461
+ Any variables not passed in the import command will be taken from the provider configuration.
462
+
463
+ Identity-Aware Proxy webregionforwardingruleservice IAM resources can be imported using the resource identifiers, role, and member.
464
+
465
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
466
+
467
+ ```sh
468
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy editor "projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
469
+ ```
470
+
471
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
472
+
473
+ ```sh
474
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy editor "projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}} roles/iap.httpsResourceAccessor"
475
+ ```
476
+
477
+ IAM policy imports use the identifier of the resource in question, e.g.
478
+
479
+ ```sh
480
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy editor projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}}
481
+ ```
482
+
483
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
484
+
485
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
486
+
487
+ :param str resource_name: The name of the resource.
488
+ :param pulumi.ResourceOptions opts: Options for the resource.
489
+ :param pulumi.Input[_builtins.str] forwarding_rule_region_service_name: Used to find the parent resource to bind the IAM policy to
490
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
491
+ a `organizations_get_iam_policy` data source.
492
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
493
+ 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.
494
+ :param pulumi.Input[_builtins.str] region: Used to find the parent resource to bind the IAM policy to. If not specified,
495
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
496
+ region is specified, it is taken from the provider configuration.
497
+ """
498
+ ...
499
+ @overload
500
+ def __init__(__self__,
501
+ resource_name: str,
502
+ args: WebRegionForwardingRuleServiceIamPolicyArgs,
503
+ opts: Optional[pulumi.ResourceOptions] = None):
504
+ """
505
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService. Each of these resources serves a different use case:
506
+
507
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webregionforwardingruleservice and replaces any existing policy already attached.
508
+ * `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.
509
+ * `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.
510
+
511
+ A data source can be used to retrieve policy data in advent you do not need creation
512
+
513
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webregionforwardingruleservice
514
+
515
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebRegionForwardingRuleServiceIamBinding` and `iap.WebRegionForwardingRuleServiceIamMember` or they will fight over what your policy should be.
516
+
517
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebRegionForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
518
+
519
+ > **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.
520
+
521
+ ## iap.WebRegionForwardingRuleServiceIamPolicy
522
+
523
+ ```python
524
+ import pulumi
525
+ import pulumi_gcp as gcp
526
+
527
+ admin = gcp.organizations.get_iam_policy(bindings=[{
528
+ "role": "roles/iap.httpsResourceAccessor",
529
+ "members": ["user:jane@example.com"],
530
+ }])
531
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
532
+ project=default["project"],
533
+ region=default["region"],
534
+ forwarding_rule_region_service_name=default["name"],
535
+ policy_data=admin.policy_data)
536
+ ```
537
+
538
+ With IAM Conditions:
539
+
540
+ ```python
541
+ import pulumi
542
+ import pulumi_gcp as gcp
543
+
544
+ admin = gcp.organizations.get_iam_policy(bindings=[{
545
+ "role": "roles/iap.httpsResourceAccessor",
546
+ "members": ["user:jane@example.com"],
547
+ "condition": {
548
+ "title": "expires_after_2019_12_31",
549
+ "description": "Expiring at midnight of 2019-12-31",
550
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
551
+ },
552
+ }])
553
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
554
+ project=default["project"],
555
+ region=default["region"],
556
+ forwarding_rule_region_service_name=default["name"],
557
+ policy_data=admin.policy_data)
558
+ ```
559
+ ## iap.WebRegionForwardingRuleServiceIamBinding
560
+
561
+ ```python
562
+ import pulumi
563
+ import pulumi_gcp as gcp
564
+
565
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
566
+ project=default["project"],
567
+ region=default["region"],
568
+ forwarding_rule_region_service_name=default["name"],
569
+ role="roles/iap.httpsResourceAccessor",
570
+ members=["user:jane@example.com"])
571
+ ```
572
+
573
+ With IAM Conditions:
574
+
575
+ ```python
576
+ import pulumi
577
+ import pulumi_gcp as gcp
578
+
579
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
580
+ project=default["project"],
581
+ region=default["region"],
582
+ forwarding_rule_region_service_name=default["name"],
583
+ role="roles/iap.httpsResourceAccessor",
584
+ members=["user:jane@example.com"],
585
+ condition={
586
+ "title": "expires_after_2019_12_31",
587
+ "description": "Expiring at midnight of 2019-12-31",
588
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
589
+ })
590
+ ```
591
+ ## iap.WebRegionForwardingRuleServiceIamMember
592
+
593
+ ```python
594
+ import pulumi
595
+ import pulumi_gcp as gcp
596
+
597
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
598
+ project=default["project"],
599
+ region=default["region"],
600
+ forwarding_rule_region_service_name=default["name"],
601
+ role="roles/iap.httpsResourceAccessor",
602
+ member="user:jane@example.com")
603
+ ```
604
+
605
+ With IAM Conditions:
606
+
607
+ ```python
608
+ import pulumi
609
+ import pulumi_gcp as gcp
610
+
611
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
612
+ project=default["project"],
613
+ region=default["region"],
614
+ forwarding_rule_region_service_name=default["name"],
615
+ role="roles/iap.httpsResourceAccessor",
616
+ member="user:jane@example.com",
617
+ condition={
618
+ "title": "expires_after_2019_12_31",
619
+ "description": "Expiring at midnight of 2019-12-31",
620
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
621
+ })
622
+ ```
623
+
624
+ ## This resource supports User Project Overrides.
625
+
626
+ -
627
+
628
+ # IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService
629
+
630
+ Three different resources help you manage your IAM policy for Identity-Aware Proxy WebRegionForwardingRuleService. Each of these resources serves a different use case:
631
+
632
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Authoritative. Sets the IAM policy for the webregionforwardingruleservice and replaces any existing policy already attached.
633
+ * `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.
634
+ * `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.
635
+
636
+ A data source can be used to retrieve policy data in advent you do not need creation
637
+
638
+ * `iap.WebRegionForwardingRuleServiceIamPolicy`: Retrieves the IAM policy for the webregionforwardingruleservice
639
+
640
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamPolicy` **cannot** be used in conjunction with `iap.WebRegionForwardingRuleServiceIamBinding` and `iap.WebRegionForwardingRuleServiceIamMember` or they will fight over what your policy should be.
641
+
642
+ > **Note:** `iap.WebRegionForwardingRuleServiceIamBinding` resources **can be** used in conjunction with `iap.WebRegionForwardingRuleServiceIamMember` resources **only if** they do not grant privilege to the same role.
643
+
644
+ > **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.
645
+
646
+ ## iap.WebRegionForwardingRuleServiceIamPolicy
647
+
648
+ ```python
649
+ import pulumi
650
+ import pulumi_gcp as gcp
651
+
652
+ admin = gcp.organizations.get_iam_policy(bindings=[{
653
+ "role": "roles/iap.httpsResourceAccessor",
654
+ "members": ["user:jane@example.com"],
655
+ }])
656
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
657
+ project=default["project"],
658
+ region=default["region"],
659
+ forwarding_rule_region_service_name=default["name"],
660
+ policy_data=admin.policy_data)
661
+ ```
662
+
663
+ With IAM Conditions:
664
+
665
+ ```python
666
+ import pulumi
667
+ import pulumi_gcp as gcp
668
+
669
+ admin = gcp.organizations.get_iam_policy(bindings=[{
670
+ "role": "roles/iap.httpsResourceAccessor",
671
+ "members": ["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
+ policy = gcp.iap.WebRegionForwardingRuleServiceIamPolicy("policy",
679
+ project=default["project"],
680
+ region=default["region"],
681
+ forwarding_rule_region_service_name=default["name"],
682
+ policy_data=admin.policy_data)
683
+ ```
684
+ ## iap.WebRegionForwardingRuleServiceIamBinding
685
+
686
+ ```python
687
+ import pulumi
688
+ import pulumi_gcp as gcp
689
+
690
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
691
+ project=default["project"],
692
+ region=default["region"],
693
+ forwarding_rule_region_service_name=default["name"],
694
+ role="roles/iap.httpsResourceAccessor",
695
+ members=["user:jane@example.com"])
696
+ ```
697
+
698
+ With IAM Conditions:
699
+
700
+ ```python
701
+ import pulumi
702
+ import pulumi_gcp as gcp
703
+
704
+ binding = gcp.iap.WebRegionForwardingRuleServiceIamBinding("binding",
705
+ project=default["project"],
706
+ region=default["region"],
707
+ forwarding_rule_region_service_name=default["name"],
708
+ role="roles/iap.httpsResourceAccessor",
709
+ members=["user:jane@example.com"],
710
+ condition={
711
+ "title": "expires_after_2019_12_31",
712
+ "description": "Expiring at midnight of 2019-12-31",
713
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
714
+ })
715
+ ```
716
+ ## iap.WebRegionForwardingRuleServiceIamMember
717
+
718
+ ```python
719
+ import pulumi
720
+ import pulumi_gcp as gcp
721
+
722
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
723
+ project=default["project"],
724
+ region=default["region"],
725
+ forwarding_rule_region_service_name=default["name"],
726
+ role="roles/iap.httpsResourceAccessor",
727
+ member="user:jane@example.com")
728
+ ```
729
+
730
+ With IAM Conditions:
731
+
732
+ ```python
733
+ import pulumi
734
+ import pulumi_gcp as gcp
735
+
736
+ member = gcp.iap.WebRegionForwardingRuleServiceIamMember("member",
737
+ project=default["project"],
738
+ region=default["region"],
739
+ forwarding_rule_region_service_name=default["name"],
740
+ role="roles/iap.httpsResourceAccessor",
741
+ member="user:jane@example.com",
742
+ condition={
743
+ "title": "expires_after_2019_12_31",
744
+ "description": "Expiring at midnight of 2019-12-31",
745
+ "expression": "request.time < timestamp(\\"2020-01-01T00:00:00Z\\")",
746
+ })
747
+ ```
748
+
749
+ ## Import
750
+
751
+ For all import syntaxes, the "resource in question" can take any of the following forms:
752
+
753
+ * projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{name}}
754
+
755
+ * {{project}}/{{region}}/{{name}}
756
+
757
+ * {{region}}/{{name}}
758
+
759
+ * {{name}}
760
+
761
+ Any variables not passed in the import command will be taken from the provider configuration.
762
+
763
+ Identity-Aware Proxy webregionforwardingruleservice IAM resources can be imported using the resource identifiers, role, and member.
764
+
765
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
766
+
767
+ ```sh
768
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy editor "projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}} roles/iap.httpsResourceAccessor user:jane@example.com"
769
+ ```
770
+
771
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
772
+
773
+ ```sh
774
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy editor "projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}} roles/iap.httpsResourceAccessor"
775
+ ```
776
+
777
+ IAM policy imports use the identifier of the resource in question, e.g.
778
+
779
+ ```sh
780
+ $ pulumi import gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy editor projects/{{project}}/iap_web/forwarding_rule-{{region}}/services/{{web_region_forwarding_rule_service}}
781
+ ```
782
+
783
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
784
+
785
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
786
+
787
+ :param str resource_name: The name of the resource.
788
+ :param WebRegionForwardingRuleServiceIamPolicyArgs args: The arguments to use to populate this resource's properties.
789
+ :param pulumi.ResourceOptions opts: Options for the resource.
790
+ """
791
+ ...
792
+ def __init__(__self__, resource_name: str, *args, **kwargs):
793
+ resource_args, opts = _utilities.get_resource_args_opts(WebRegionForwardingRuleServiceIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
794
+ if resource_args is not None:
795
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
796
+ else:
797
+ __self__._internal_init(resource_name, *args, **kwargs)
798
+
799
+ def _internal_init(__self__,
800
+ resource_name: str,
801
+ opts: Optional[pulumi.ResourceOptions] = None,
802
+ forwarding_rule_region_service_name: Optional[pulumi.Input[_builtins.str]] = None,
803
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
804
+ project: Optional[pulumi.Input[_builtins.str]] = None,
805
+ region: Optional[pulumi.Input[_builtins.str]] = None,
806
+ __props__=None):
807
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
808
+ if not isinstance(opts, pulumi.ResourceOptions):
809
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
810
+ if opts.id is None:
811
+ if __props__ is not None:
812
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
813
+ __props__ = WebRegionForwardingRuleServiceIamPolicyArgs.__new__(WebRegionForwardingRuleServiceIamPolicyArgs)
814
+
815
+ if forwarding_rule_region_service_name is None and not opts.urn:
816
+ raise TypeError("Missing required property 'forwarding_rule_region_service_name'")
817
+ __props__.__dict__["forwarding_rule_region_service_name"] = forwarding_rule_region_service_name
818
+ if policy_data is None and not opts.urn:
819
+ raise TypeError("Missing required property 'policy_data'")
820
+ __props__.__dict__["policy_data"] = policy_data
821
+ __props__.__dict__["project"] = project
822
+ __props__.__dict__["region"] = region
823
+ __props__.__dict__["etag"] = None
824
+ super(WebRegionForwardingRuleServiceIamPolicy, __self__).__init__(
825
+ 'gcp:iap/webRegionForwardingRuleServiceIamPolicy:WebRegionForwardingRuleServiceIamPolicy',
826
+ resource_name,
827
+ __props__,
828
+ opts)
829
+
830
+ @staticmethod
831
+ def get(resource_name: str,
832
+ id: pulumi.Input[str],
833
+ opts: Optional[pulumi.ResourceOptions] = None,
834
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
835
+ forwarding_rule_region_service_name: Optional[pulumi.Input[_builtins.str]] = None,
836
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
837
+ project: Optional[pulumi.Input[_builtins.str]] = None,
838
+ region: Optional[pulumi.Input[_builtins.str]] = None) -> 'WebRegionForwardingRuleServiceIamPolicy':
839
+ """
840
+ Get an existing WebRegionForwardingRuleServiceIamPolicy resource's state with the given name, id, and optional extra
841
+ properties used to qualify the lookup.
842
+
843
+ :param str resource_name: The unique name of the resulting resource.
844
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
845
+ :param pulumi.ResourceOptions opts: Options for the resource.
846
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
847
+ :param pulumi.Input[_builtins.str] forwarding_rule_region_service_name: Used to find the parent resource to bind the IAM policy to
848
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
849
+ a `organizations_get_iam_policy` data source.
850
+ :param pulumi.Input[_builtins.str] project: The ID of the project in which the resource belongs.
851
+ 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.
852
+ :param pulumi.Input[_builtins.str] region: Used to find the parent resource to bind the IAM policy to. If not specified,
853
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
854
+ region is specified, it is taken from the provider configuration.
855
+ """
856
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
857
+
858
+ __props__ = _WebRegionForwardingRuleServiceIamPolicyState.__new__(_WebRegionForwardingRuleServiceIamPolicyState)
859
+
860
+ __props__.__dict__["etag"] = etag
861
+ __props__.__dict__["forwarding_rule_region_service_name"] = forwarding_rule_region_service_name
862
+ __props__.__dict__["policy_data"] = policy_data
863
+ __props__.__dict__["project"] = project
864
+ __props__.__dict__["region"] = region
865
+ return WebRegionForwardingRuleServiceIamPolicy(resource_name, opts=opts, __props__=__props__)
866
+
867
+ @_builtins.property
868
+ @pulumi.getter
869
+ def etag(self) -> pulumi.Output[_builtins.str]:
870
+ """
871
+ (Computed) The etag of the IAM policy.
872
+ """
873
+ return pulumi.get(self, "etag")
874
+
875
+ @_builtins.property
876
+ @pulumi.getter(name="forwardingRuleRegionServiceName")
877
+ def forwarding_rule_region_service_name(self) -> pulumi.Output[_builtins.str]:
878
+ """
879
+ Used to find the parent resource to bind the IAM policy to
880
+ """
881
+ return pulumi.get(self, "forwarding_rule_region_service_name")
882
+
883
+ @_builtins.property
884
+ @pulumi.getter(name="policyData")
885
+ def policy_data(self) -> pulumi.Output[_builtins.str]:
886
+ """
887
+ The policy data generated by
888
+ a `organizations_get_iam_policy` data source.
889
+ """
890
+ return pulumi.get(self, "policy_data")
891
+
892
+ @_builtins.property
893
+ @pulumi.getter
894
+ def project(self) -> pulumi.Output[_builtins.str]:
895
+ """
896
+ The ID of the project in which the resource belongs.
897
+ 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.
898
+ """
899
+ return pulumi.get(self, "project")
900
+
901
+ @_builtins.property
902
+ @pulumi.getter
903
+ def region(self) -> pulumi.Output[_builtins.str]:
904
+ """
905
+ Used to find the parent resource to bind the IAM policy to. If not specified,
906
+ the value will be parsed from the identifier of the parent resource. If no region is provided in the parent identifier and no
907
+ region is specified, it is taken from the provider configuration.
908
+ """
909
+ return pulumi.get(self, "region")
910
+