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