pulumi-gcp 8.40.0a1754636117__py3-none-any.whl → 8.40.0a1754951145__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 (157) hide show
  1. pulumi_gcp/__init__.py +128 -0
  2. pulumi_gcp/accesscontextmanager/_inputs.py +24 -4
  3. pulumi_gcp/accesscontextmanager/outputs.py +15 -3
  4. pulumi_gcp/apigee/__init__.py +2 -0
  5. pulumi_gcp/apigee/_inputs.py +1435 -0
  6. pulumi_gcp/apigee/api_product.py +1698 -0
  7. pulumi_gcp/apigee/outputs.py +1081 -0
  8. pulumi_gcp/apigee/security_action.py +1010 -0
  9. pulumi_gcp/artifactregistry/__init__.py +1 -0
  10. pulumi_gcp/artifactregistry/get_docker_images.py +164 -0
  11. pulumi_gcp/artifactregistry/outputs.py +109 -2
  12. pulumi_gcp/artifactregistry/repository.py +6 -6
  13. pulumi_gcp/backupdisasterrecovery/backup_vault.py +56 -0
  14. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +12 -1
  15. pulumi_gcp/bigquery/_inputs.py +6 -0
  16. pulumi_gcp/bigquery/get_table.py +23 -1
  17. pulumi_gcp/bigquery/outputs.py +4 -0
  18. pulumi_gcp/bigquery/table.py +62 -0
  19. pulumi_gcp/bigqueryanalyticshub/_inputs.py +180 -0
  20. pulumi_gcp/bigqueryanalyticshub/data_exchange.py +80 -0
  21. pulumi_gcp/bigqueryanalyticshub/listing.py +322 -2
  22. pulumi_gcp/bigqueryanalyticshub/listing_subscription.py +32 -0
  23. pulumi_gcp/bigqueryanalyticshub/outputs.py +159 -0
  24. pulumi_gcp/bigtable/__init__.py +1 -0
  25. pulumi_gcp/bigtable/_inputs.py +33 -0
  26. pulumi_gcp/bigtable/outputs.py +36 -0
  27. pulumi_gcp/bigtable/schema_bundle.py +568 -0
  28. pulumi_gcp/cloudfunctions/_inputs.py +48 -0
  29. pulumi_gcp/cloudfunctions/function.py +94 -0
  30. pulumi_gcp/cloudfunctions/get_function.py +23 -1
  31. pulumi_gcp/cloudfunctions/outputs.py +70 -0
  32. pulumi_gcp/cloudrunv2/_inputs.py +20 -0
  33. pulumi_gcp/cloudrunv2/job.py +2 -0
  34. pulumi_gcp/cloudrunv2/outputs.py +25 -0
  35. pulumi_gcp/cloudrunv2/worker_pool.py +2 -0
  36. pulumi_gcp/compute/__init__.py +1 -0
  37. pulumi_gcp/compute/_inputs.py +713 -22
  38. pulumi_gcp/compute/firewall_policy_with_rules.py +66 -0
  39. pulumi_gcp/compute/forwarding_rule.py +0 -21
  40. pulumi_gcp/compute/get_router.py +12 -1
  41. pulumi_gcp/compute/outputs.py +562 -22
  42. pulumi_gcp/compute/preview_feature.py +396 -0
  43. pulumi_gcp/compute/region_url_map.py +392 -0
  44. pulumi_gcp/compute/reservation.py +4 -4
  45. pulumi_gcp/compute/router.py +54 -0
  46. pulumi_gcp/compute/storage_pool.py +154 -0
  47. pulumi_gcp/compute/subnetwork.py +54 -0
  48. pulumi_gcp/config/__init__.pyi +2 -0
  49. pulumi_gcp/config/vars.py +4 -0
  50. pulumi_gcp/container/_inputs.py +278 -8
  51. pulumi_gcp/container/cluster.py +61 -21
  52. pulumi_gcp/container/get_cluster.py +12 -1
  53. pulumi_gcp/container/outputs.py +352 -8
  54. pulumi_gcp/dataproc/_inputs.py +249 -14
  55. pulumi_gcp/dataproc/batch.py +6 -0
  56. pulumi_gcp/dataproc/cluster.py +2 -0
  57. pulumi_gcp/dataproc/outputs.py +215 -12
  58. pulumi_gcp/dataproc/session_template.py +14 -2
  59. pulumi_gcp/developerconnect/__init__.py +1 -0
  60. pulumi_gcp/developerconnect/_inputs.py +583 -0
  61. pulumi_gcp/developerconnect/insights_config.py +895 -0
  62. pulumi_gcp/developerconnect/outputs.py +442 -0
  63. pulumi_gcp/diagflow/__init__.py +1 -0
  64. pulumi_gcp/diagflow/_inputs.py +1165 -58
  65. pulumi_gcp/diagflow/cx_generator.py +636 -0
  66. pulumi_gcp/diagflow/cx_tool.py +2 -2
  67. pulumi_gcp/diagflow/cx_webhook.py +380 -36
  68. pulumi_gcp/diagflow/outputs.py +848 -25
  69. pulumi_gcp/discoveryengine/__init__.py +2 -0
  70. pulumi_gcp/discoveryengine/_inputs.py +465 -0
  71. pulumi_gcp/discoveryengine/cmek_config.py +707 -0
  72. pulumi_gcp/discoveryengine/outputs.py +412 -0
  73. pulumi_gcp/discoveryengine/recommendation_engine.py +813 -0
  74. pulumi_gcp/firestore/field.py +6 -6
  75. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +107 -9
  76. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +2 -2
  77. pulumi_gcp/gkehub/membership_binding.py +6 -6
  78. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  79. pulumi_gcp/gkehub/namespace.py +4 -4
  80. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  81. pulumi_gcp/iam/__init__.py +4 -0
  82. pulumi_gcp/iam/_inputs.py +98 -0
  83. pulumi_gcp/iam/get_workforce_pool_iam_policy.py +161 -0
  84. pulumi_gcp/iam/outputs.py +56 -0
  85. pulumi_gcp/iam/workforce_pool_iam_binding.py +761 -0
  86. pulumi_gcp/iam/workforce_pool_iam_member.py +761 -0
  87. pulumi_gcp/iam/workforce_pool_iam_policy.py +600 -0
  88. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  89. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  90. pulumi_gcp/looker/instance.py +28 -7
  91. pulumi_gcp/managedkafka/_inputs.py +127 -0
  92. pulumi_gcp/managedkafka/cluster.py +131 -1
  93. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  94. pulumi_gcp/managedkafka/connector.py +4 -4
  95. pulumi_gcp/managedkafka/outputs.py +128 -0
  96. pulumi_gcp/memorystore/instance.py +8 -12
  97. pulumi_gcp/modelarmor/__init__.py +1 -0
  98. pulumi_gcp/modelarmor/_inputs.py +683 -0
  99. pulumi_gcp/modelarmor/floorsetting.py +736 -0
  100. pulumi_gcp/modelarmor/outputs.py +618 -0
  101. pulumi_gcp/networkconnectivity/_inputs.py +60 -0
  102. pulumi_gcp/networkconnectivity/internal_range.py +136 -0
  103. pulumi_gcp/networkconnectivity/outputs.py +55 -0
  104. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  105. pulumi_gcp/oracledatabase/__init__.py +2 -0
  106. pulumi_gcp/oracledatabase/autonomous_database.py +262 -38
  107. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +314 -50
  108. pulumi_gcp/oracledatabase/get_autonomous_database.py +23 -1
  109. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +34 -1
  110. pulumi_gcp/oracledatabase/odb_network.py +721 -0
  111. pulumi_gcp/oracledatabase/odb_subnet.py +803 -0
  112. pulumi_gcp/oracledatabase/outputs.py +83 -0
  113. pulumi_gcp/orgpolicy/policy.py +2 -2
  114. pulumi_gcp/parametermanager/parameter_version.py +62 -0
  115. pulumi_gcp/parametermanager/regional_parameter_version.py +64 -0
  116. pulumi_gcp/provider.py +20 -0
  117. pulumi_gcp/pubsub/subscription.py +46 -6
  118. pulumi_gcp/pubsub/topic.py +36 -0
  119. pulumi_gcp/pulumi-plugin.json +1 -1
  120. pulumi_gcp/redis/cluster.py +70 -0
  121. pulumi_gcp/redis/get_cluster.py +12 -1
  122. pulumi_gcp/redis/instance.py +8 -12
  123. pulumi_gcp/secretmanager/get_regional_secret.py +12 -1
  124. pulumi_gcp/secretmanager/get_secret.py +12 -1
  125. pulumi_gcp/secretmanager/outputs.py +30 -0
  126. pulumi_gcp/secretmanager/regional_secret.py +61 -0
  127. pulumi_gcp/secretmanager/secret.py +61 -0
  128. pulumi_gcp/securesourcemanager/branch_rule.py +16 -8
  129. pulumi_gcp/securesourcemanager/instance.py +112 -4
  130. pulumi_gcp/securesourcemanager/repository.py +112 -8
  131. pulumi_gcp/serviceaccount/get_account_key.py +1 -0
  132. pulumi_gcp/sql/_inputs.py +6 -6
  133. pulumi_gcp/sql/database.py +0 -12
  134. pulumi_gcp/sql/outputs.py +4 -4
  135. pulumi_gcp/storage/__init__.py +2 -0
  136. pulumi_gcp/storage/_inputs.py +451 -0
  137. pulumi_gcp/storage/bucket.py +7 -7
  138. pulumi_gcp/storage/bucket_object.py +34 -0
  139. pulumi_gcp/storage/get_bucket_object.py +12 -1
  140. pulumi_gcp/storage/get_bucket_object_content.py +12 -1
  141. pulumi_gcp/storage/get_insights_dataset_config.py +363 -0
  142. pulumi_gcp/storage/insights_dataset_config.py +1280 -0
  143. pulumi_gcp/storage/outputs.py +619 -0
  144. pulumi_gcp/vertex/__init__.py +1 -0
  145. pulumi_gcp/vertex/_inputs.py +3646 -3
  146. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  147. pulumi_gcp/vertex/ai_endpoint_with_model_garden_deployment.py +940 -0
  148. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  149. pulumi_gcp/vertex/outputs.py +2609 -2
  150. pulumi_gcp/vmwareengine/network_peering.py +7 -7
  151. pulumi_gcp/workbench/_inputs.py +118 -0
  152. pulumi_gcp/workbench/instance.py +171 -2
  153. pulumi_gcp/workbench/outputs.py +91 -0
  154. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/METADATA +1 -1
  155. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/RECORD +157 -138
  156. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/WHEEL +0 -0
  157. {pulumi_gcp-8.40.0a1754636117.dist-info → pulumi_gcp-8.40.0a1754951145.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,600 @@
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__ = ['WorkforcePoolIamPolicyArgs', 'WorkforcePoolIamPolicy']
18
+
19
+ @pulumi.input_type
20
+ class WorkforcePoolIamPolicyArgs:
21
+ def __init__(__self__, *,
22
+ policy_data: pulumi.Input[_builtins.str],
23
+ workforce_pool_id: pulumi.Input[_builtins.str],
24
+ location: Optional[pulumi.Input[_builtins.str]] = None):
25
+ """
26
+ The set of arguments for constructing a WorkforcePoolIamPolicy resource.
27
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
28
+ a `organizations_get_iam_policy` data source.
29
+ :param pulumi.Input[_builtins.str] workforce_pool_id: Used to find the parent resource to bind the IAM policy to
30
+ :param pulumi.Input[_builtins.str] location: The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
31
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
32
+ location is specified, it is taken from the provider configuration.
33
+ """
34
+ pulumi.set(__self__, "policy_data", policy_data)
35
+ pulumi.set(__self__, "workforce_pool_id", workforce_pool_id)
36
+ if location is not None:
37
+ pulumi.set(__self__, "location", location)
38
+
39
+ @_builtins.property
40
+ @pulumi.getter(name="policyData")
41
+ def policy_data(self) -> pulumi.Input[_builtins.str]:
42
+ """
43
+ The policy data generated by
44
+ a `organizations_get_iam_policy` data source.
45
+ """
46
+ return pulumi.get(self, "policy_data")
47
+
48
+ @policy_data.setter
49
+ def policy_data(self, value: pulumi.Input[_builtins.str]):
50
+ pulumi.set(self, "policy_data", value)
51
+
52
+ @_builtins.property
53
+ @pulumi.getter(name="workforcePoolId")
54
+ def workforce_pool_id(self) -> pulumi.Input[_builtins.str]:
55
+ """
56
+ Used to find the parent resource to bind the IAM policy to
57
+ """
58
+ return pulumi.get(self, "workforce_pool_id")
59
+
60
+ @workforce_pool_id.setter
61
+ def workforce_pool_id(self, value: pulumi.Input[_builtins.str]):
62
+ pulumi.set(self, "workforce_pool_id", value)
63
+
64
+ @_builtins.property
65
+ @pulumi.getter
66
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
67
+ """
68
+ The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
69
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
70
+ location is specified, it is taken from the provider configuration.
71
+ """
72
+ return pulumi.get(self, "location")
73
+
74
+ @location.setter
75
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
76
+ pulumi.set(self, "location", value)
77
+
78
+
79
+ @pulumi.input_type
80
+ class _WorkforcePoolIamPolicyState:
81
+ def __init__(__self__, *,
82
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
83
+ location: Optional[pulumi.Input[_builtins.str]] = None,
84
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
85
+ workforce_pool_id: Optional[pulumi.Input[_builtins.str]] = None):
86
+ """
87
+ Input properties used for looking up and filtering WorkforcePoolIamPolicy resources.
88
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
89
+ :param pulumi.Input[_builtins.str] location: The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
90
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
91
+ location is specified, it is taken from the provider configuration.
92
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
93
+ a `organizations_get_iam_policy` data source.
94
+ :param pulumi.Input[_builtins.str] workforce_pool_id: Used to find the parent resource to bind the IAM policy to
95
+ """
96
+ if etag is not None:
97
+ pulumi.set(__self__, "etag", etag)
98
+ if location is not None:
99
+ pulumi.set(__self__, "location", location)
100
+ if policy_data is not None:
101
+ pulumi.set(__self__, "policy_data", policy_data)
102
+ if workforce_pool_id is not None:
103
+ pulumi.set(__self__, "workforce_pool_id", workforce_pool_id)
104
+
105
+ @_builtins.property
106
+ @pulumi.getter
107
+ def etag(self) -> Optional[pulumi.Input[_builtins.str]]:
108
+ """
109
+ (Computed) The etag of the IAM policy.
110
+ """
111
+ return pulumi.get(self, "etag")
112
+
113
+ @etag.setter
114
+ def etag(self, value: Optional[pulumi.Input[_builtins.str]]):
115
+ pulumi.set(self, "etag", value)
116
+
117
+ @_builtins.property
118
+ @pulumi.getter
119
+ def location(self) -> Optional[pulumi.Input[_builtins.str]]:
120
+ """
121
+ The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
122
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
123
+ location is specified, it is taken from the provider configuration.
124
+ """
125
+ return pulumi.get(self, "location")
126
+
127
+ @location.setter
128
+ def location(self, value: Optional[pulumi.Input[_builtins.str]]):
129
+ pulumi.set(self, "location", value)
130
+
131
+ @_builtins.property
132
+ @pulumi.getter(name="policyData")
133
+ def policy_data(self) -> Optional[pulumi.Input[_builtins.str]]:
134
+ """
135
+ The policy data generated by
136
+ a `organizations_get_iam_policy` data source.
137
+ """
138
+ return pulumi.get(self, "policy_data")
139
+
140
+ @policy_data.setter
141
+ def policy_data(self, value: Optional[pulumi.Input[_builtins.str]]):
142
+ pulumi.set(self, "policy_data", value)
143
+
144
+ @_builtins.property
145
+ @pulumi.getter(name="workforcePoolId")
146
+ def workforce_pool_id(self) -> Optional[pulumi.Input[_builtins.str]]:
147
+ """
148
+ Used to find the parent resource to bind the IAM policy to
149
+ """
150
+ return pulumi.get(self, "workforce_pool_id")
151
+
152
+ @workforce_pool_id.setter
153
+ def workforce_pool_id(self, value: Optional[pulumi.Input[_builtins.str]]):
154
+ pulumi.set(self, "workforce_pool_id", value)
155
+
156
+
157
+ @pulumi.type_token("gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy")
158
+ class WorkforcePoolIamPolicy(pulumi.CustomResource):
159
+ @overload
160
+ def __init__(__self__,
161
+ resource_name: str,
162
+ opts: Optional[pulumi.ResourceOptions] = None,
163
+ location: Optional[pulumi.Input[_builtins.str]] = None,
164
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
165
+ workforce_pool_id: Optional[pulumi.Input[_builtins.str]] = None,
166
+ __props__=None):
167
+ """
168
+ Three different resources help you manage your IAM policy for Cloud IAM WorkforcePool. Each of these resources serves a different use case:
169
+
170
+ * `iam.WorkforcePoolIamPolicy`: Authoritative. Sets the IAM policy for the workforcepool and replaces any existing policy already attached.
171
+ * `iam.WorkforcePoolIamBinding`: 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 workforcepool are preserved.
172
+ * `iam.WorkforcePoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workforcepool are preserved.
173
+
174
+ A data source can be used to retrieve policy data in advent you do not need creation
175
+
176
+ * `iam.WorkforcePoolIamPolicy`: Retrieves the IAM policy for the workforcepool
177
+
178
+ > **Note:** `iam.WorkforcePoolIamPolicy` **cannot** be used in conjunction with `iam.WorkforcePoolIamBinding` and `iam.WorkforcePoolIamMember` or they will fight over what your policy should be.
179
+
180
+ > **Note:** `iam.WorkforcePoolIamBinding` resources **can be** used in conjunction with `iam.WorkforcePoolIamMember` resources **only if** they do not grant privilege to the same role.
181
+
182
+ ## iam.WorkforcePoolIamPolicy
183
+
184
+ ```python
185
+ import pulumi
186
+ import pulumi_gcp as gcp
187
+
188
+ admin = gcp.organizations.get_iam_policy(bindings=[{
189
+ "role": "roles/iam.workforcePoolAdmin",
190
+ "members": ["user:jane@example.com"],
191
+ }])
192
+ policy = gcp.iam.WorkforcePoolIamPolicy("policy",
193
+ location=example["location"],
194
+ workforce_pool_id=example["workforcePoolId"],
195
+ policy_data=admin.policy_data)
196
+ ```
197
+
198
+ ## iam.WorkforcePoolIamBinding
199
+
200
+ ```python
201
+ import pulumi
202
+ import pulumi_gcp as gcp
203
+
204
+ binding = gcp.iam.WorkforcePoolIamBinding("binding",
205
+ location=example["location"],
206
+ workforce_pool_id=example["workforcePoolId"],
207
+ role="roles/iam.workforcePoolAdmin",
208
+ members=["user:jane@example.com"])
209
+ ```
210
+
211
+ ## iam.WorkforcePoolIamMember
212
+
213
+ ```python
214
+ import pulumi
215
+ import pulumi_gcp as gcp
216
+
217
+ member = gcp.iam.WorkforcePoolIamMember("member",
218
+ location=example["location"],
219
+ workforce_pool_id=example["workforcePoolId"],
220
+ role="roles/iam.workforcePoolAdmin",
221
+ member="user:jane@example.com")
222
+ ```
223
+
224
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
225
+
226
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
227
+ ---
228
+
229
+ # IAM policy for Cloud IAM WorkforcePool
230
+ Three different resources help you manage your IAM policy for Cloud IAM WorkforcePool. Each of these resources serves a different use case:
231
+
232
+ * `iam.WorkforcePoolIamPolicy`: Authoritative. Sets the IAM policy for the workforcepool and replaces any existing policy already attached.
233
+ * `iam.WorkforcePoolIamBinding`: 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 workforcepool are preserved.
234
+ * `iam.WorkforcePoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workforcepool are preserved.
235
+
236
+ A data source can be used to retrieve policy data in advent you do not need creation
237
+
238
+ * `iam.WorkforcePoolIamPolicy`: Retrieves the IAM policy for the workforcepool
239
+
240
+ > **Note:** `iam.WorkforcePoolIamPolicy` **cannot** be used in conjunction with `iam.WorkforcePoolIamBinding` and `iam.WorkforcePoolIamMember` or they will fight over what your policy should be.
241
+
242
+ > **Note:** `iam.WorkforcePoolIamBinding` resources **can be** used in conjunction with `iam.WorkforcePoolIamMember` resources **only if** they do not grant privilege to the same role.
243
+
244
+ ## iam.WorkforcePoolIamPolicy
245
+
246
+ ```python
247
+ import pulumi
248
+ import pulumi_gcp as gcp
249
+
250
+ admin = gcp.organizations.get_iam_policy(bindings=[{
251
+ "role": "roles/iam.workforcePoolAdmin",
252
+ "members": ["user:jane@example.com"],
253
+ }])
254
+ policy = gcp.iam.WorkforcePoolIamPolicy("policy",
255
+ location=example["location"],
256
+ workforce_pool_id=example["workforcePoolId"],
257
+ policy_data=admin.policy_data)
258
+ ```
259
+
260
+ ## iam.WorkforcePoolIamBinding
261
+
262
+ ```python
263
+ import pulumi
264
+ import pulumi_gcp as gcp
265
+
266
+ binding = gcp.iam.WorkforcePoolIamBinding("binding",
267
+ location=example["location"],
268
+ workforce_pool_id=example["workforcePoolId"],
269
+ role="roles/iam.workforcePoolAdmin",
270
+ members=["user:jane@example.com"])
271
+ ```
272
+
273
+ ## iam.WorkforcePoolIamMember
274
+
275
+ ```python
276
+ import pulumi
277
+ import pulumi_gcp as gcp
278
+
279
+ member = gcp.iam.WorkforcePoolIamMember("member",
280
+ location=example["location"],
281
+ workforce_pool_id=example["workforcePoolId"],
282
+ role="roles/iam.workforcePoolAdmin",
283
+ member="user:jane@example.com")
284
+ ```
285
+
286
+ ## Import
287
+
288
+ For all import syntaxes, the "resource in question" can take any of the following forms:
289
+
290
+ * locations/{{location}}/workforcePools/{{workforce_pool_id}}
291
+
292
+ * {{location}}/{{workforce_pool_id}}
293
+
294
+ * {{workforce_pool_id}}
295
+
296
+ Any variables not passed in the import command will be taken from the provider configuration.
297
+
298
+ Cloud IAM workforcepool IAM resources can be imported using the resource identifiers, role, and member.
299
+
300
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
301
+
302
+ ```sh
303
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor "locations/{{location}}/workforcePools/{{workforce_pool_id}} roles/iam.workforcePoolViewer user:jane@example.com"
304
+ ```
305
+
306
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
307
+
308
+ ```sh
309
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor "locations/{{location}}/workforcePools/{{workforce_pool_id}} roles/iam.workforcePoolViewer"
310
+ ```
311
+
312
+ IAM policy imports use the identifier of the resource in question, e.g.
313
+
314
+ ```sh
315
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor locations/{{location}}/workforcePools/{{workforce_pool_id}}
316
+ ```
317
+
318
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
319
+
320
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
321
+
322
+ :param str resource_name: The name of the resource.
323
+ :param pulumi.ResourceOptions opts: Options for the resource.
324
+ :param pulumi.Input[_builtins.str] location: The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
325
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
326
+ location is specified, it is taken from the provider configuration.
327
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
328
+ a `organizations_get_iam_policy` data source.
329
+ :param pulumi.Input[_builtins.str] workforce_pool_id: Used to find the parent resource to bind the IAM policy to
330
+ """
331
+ ...
332
+ @overload
333
+ def __init__(__self__,
334
+ resource_name: str,
335
+ args: WorkforcePoolIamPolicyArgs,
336
+ opts: Optional[pulumi.ResourceOptions] = None):
337
+ """
338
+ Three different resources help you manage your IAM policy for Cloud IAM WorkforcePool. Each of these resources serves a different use case:
339
+
340
+ * `iam.WorkforcePoolIamPolicy`: Authoritative. Sets the IAM policy for the workforcepool and replaces any existing policy already attached.
341
+ * `iam.WorkforcePoolIamBinding`: 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 workforcepool are preserved.
342
+ * `iam.WorkforcePoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workforcepool are preserved.
343
+
344
+ A data source can be used to retrieve policy data in advent you do not need creation
345
+
346
+ * `iam.WorkforcePoolIamPolicy`: Retrieves the IAM policy for the workforcepool
347
+
348
+ > **Note:** `iam.WorkforcePoolIamPolicy` **cannot** be used in conjunction with `iam.WorkforcePoolIamBinding` and `iam.WorkforcePoolIamMember` or they will fight over what your policy should be.
349
+
350
+ > **Note:** `iam.WorkforcePoolIamBinding` resources **can be** used in conjunction with `iam.WorkforcePoolIamMember` resources **only if** they do not grant privilege to the same role.
351
+
352
+ ## iam.WorkforcePoolIamPolicy
353
+
354
+ ```python
355
+ import pulumi
356
+ import pulumi_gcp as gcp
357
+
358
+ admin = gcp.organizations.get_iam_policy(bindings=[{
359
+ "role": "roles/iam.workforcePoolAdmin",
360
+ "members": ["user:jane@example.com"],
361
+ }])
362
+ policy = gcp.iam.WorkforcePoolIamPolicy("policy",
363
+ location=example["location"],
364
+ workforce_pool_id=example["workforcePoolId"],
365
+ policy_data=admin.policy_data)
366
+ ```
367
+
368
+ ## iam.WorkforcePoolIamBinding
369
+
370
+ ```python
371
+ import pulumi
372
+ import pulumi_gcp as gcp
373
+
374
+ binding = gcp.iam.WorkforcePoolIamBinding("binding",
375
+ location=example["location"],
376
+ workforce_pool_id=example["workforcePoolId"],
377
+ role="roles/iam.workforcePoolAdmin",
378
+ members=["user:jane@example.com"])
379
+ ```
380
+
381
+ ## iam.WorkforcePoolIamMember
382
+
383
+ ```python
384
+ import pulumi
385
+ import pulumi_gcp as gcp
386
+
387
+ member = gcp.iam.WorkforcePoolIamMember("member",
388
+ location=example["location"],
389
+ workforce_pool_id=example["workforcePoolId"],
390
+ role="roles/iam.workforcePoolAdmin",
391
+ member="user:jane@example.com")
392
+ ```
393
+
394
+ ## > **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
395
+
396
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
397
+ ---
398
+
399
+ # IAM policy for Cloud IAM WorkforcePool
400
+ Three different resources help you manage your IAM policy for Cloud IAM WorkforcePool. Each of these resources serves a different use case:
401
+
402
+ * `iam.WorkforcePoolIamPolicy`: Authoritative. Sets the IAM policy for the workforcepool and replaces any existing policy already attached.
403
+ * `iam.WorkforcePoolIamBinding`: 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 workforcepool are preserved.
404
+ * `iam.WorkforcePoolIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the workforcepool are preserved.
405
+
406
+ A data source can be used to retrieve policy data in advent you do not need creation
407
+
408
+ * `iam.WorkforcePoolIamPolicy`: Retrieves the IAM policy for the workforcepool
409
+
410
+ > **Note:** `iam.WorkforcePoolIamPolicy` **cannot** be used in conjunction with `iam.WorkforcePoolIamBinding` and `iam.WorkforcePoolIamMember` or they will fight over what your policy should be.
411
+
412
+ > **Note:** `iam.WorkforcePoolIamBinding` resources **can be** used in conjunction with `iam.WorkforcePoolIamMember` resources **only if** they do not grant privilege to the same role.
413
+
414
+ ## iam.WorkforcePoolIamPolicy
415
+
416
+ ```python
417
+ import pulumi
418
+ import pulumi_gcp as gcp
419
+
420
+ admin = gcp.organizations.get_iam_policy(bindings=[{
421
+ "role": "roles/iam.workforcePoolAdmin",
422
+ "members": ["user:jane@example.com"],
423
+ }])
424
+ policy = gcp.iam.WorkforcePoolIamPolicy("policy",
425
+ location=example["location"],
426
+ workforce_pool_id=example["workforcePoolId"],
427
+ policy_data=admin.policy_data)
428
+ ```
429
+
430
+ ## iam.WorkforcePoolIamBinding
431
+
432
+ ```python
433
+ import pulumi
434
+ import pulumi_gcp as gcp
435
+
436
+ binding = gcp.iam.WorkforcePoolIamBinding("binding",
437
+ location=example["location"],
438
+ workforce_pool_id=example["workforcePoolId"],
439
+ role="roles/iam.workforcePoolAdmin",
440
+ members=["user:jane@example.com"])
441
+ ```
442
+
443
+ ## iam.WorkforcePoolIamMember
444
+
445
+ ```python
446
+ import pulumi
447
+ import pulumi_gcp as gcp
448
+
449
+ member = gcp.iam.WorkforcePoolIamMember("member",
450
+ location=example["location"],
451
+ workforce_pool_id=example["workforcePoolId"],
452
+ role="roles/iam.workforcePoolAdmin",
453
+ member="user:jane@example.com")
454
+ ```
455
+
456
+ ## Import
457
+
458
+ For all import syntaxes, the "resource in question" can take any of the following forms:
459
+
460
+ * locations/{{location}}/workforcePools/{{workforce_pool_id}}
461
+
462
+ * {{location}}/{{workforce_pool_id}}
463
+
464
+ * {{workforce_pool_id}}
465
+
466
+ Any variables not passed in the import command will be taken from the provider configuration.
467
+
468
+ Cloud IAM workforcepool IAM resources can be imported using the resource identifiers, role, and member.
469
+
470
+ IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.
471
+
472
+ ```sh
473
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor "locations/{{location}}/workforcePools/{{workforce_pool_id}} roles/iam.workforcePoolViewer user:jane@example.com"
474
+ ```
475
+
476
+ IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.
477
+
478
+ ```sh
479
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor "locations/{{location}}/workforcePools/{{workforce_pool_id}} roles/iam.workforcePoolViewer"
480
+ ```
481
+
482
+ IAM policy imports use the identifier of the resource in question, e.g.
483
+
484
+ ```sh
485
+ $ pulumi import gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy editor locations/{{location}}/workforcePools/{{workforce_pool_id}}
486
+ ```
487
+
488
+ -> **Custom Roles** If you're importing a IAM resource with a custom role, make sure to use the
489
+
490
+ full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
491
+
492
+ :param str resource_name: The name of the resource.
493
+ :param WorkforcePoolIamPolicyArgs args: The arguments to use to populate this resource's properties.
494
+ :param pulumi.ResourceOptions opts: Options for the resource.
495
+ """
496
+ ...
497
+ def __init__(__self__, resource_name: str, *args, **kwargs):
498
+ resource_args, opts = _utilities.get_resource_args_opts(WorkforcePoolIamPolicyArgs, pulumi.ResourceOptions, *args, **kwargs)
499
+ if resource_args is not None:
500
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
501
+ else:
502
+ __self__._internal_init(resource_name, *args, **kwargs)
503
+
504
+ def _internal_init(__self__,
505
+ resource_name: str,
506
+ opts: Optional[pulumi.ResourceOptions] = None,
507
+ location: Optional[pulumi.Input[_builtins.str]] = None,
508
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
509
+ workforce_pool_id: Optional[pulumi.Input[_builtins.str]] = None,
510
+ __props__=None):
511
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
512
+ if not isinstance(opts, pulumi.ResourceOptions):
513
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
514
+ if opts.id is None:
515
+ if __props__ is not None:
516
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
517
+ __props__ = WorkforcePoolIamPolicyArgs.__new__(WorkforcePoolIamPolicyArgs)
518
+
519
+ __props__.__dict__["location"] = location
520
+ if policy_data is None and not opts.urn:
521
+ raise TypeError("Missing required property 'policy_data'")
522
+ __props__.__dict__["policy_data"] = policy_data
523
+ if workforce_pool_id is None and not opts.urn:
524
+ raise TypeError("Missing required property 'workforce_pool_id'")
525
+ __props__.__dict__["workforce_pool_id"] = workforce_pool_id
526
+ __props__.__dict__["etag"] = None
527
+ super(WorkforcePoolIamPolicy, __self__).__init__(
528
+ 'gcp:iam/workforcePoolIamPolicy:WorkforcePoolIamPolicy',
529
+ resource_name,
530
+ __props__,
531
+ opts)
532
+
533
+ @staticmethod
534
+ def get(resource_name: str,
535
+ id: pulumi.Input[str],
536
+ opts: Optional[pulumi.ResourceOptions] = None,
537
+ etag: Optional[pulumi.Input[_builtins.str]] = None,
538
+ location: Optional[pulumi.Input[_builtins.str]] = None,
539
+ policy_data: Optional[pulumi.Input[_builtins.str]] = None,
540
+ workforce_pool_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'WorkforcePoolIamPolicy':
541
+ """
542
+ Get an existing WorkforcePoolIamPolicy resource's state with the given name, id, and optional extra
543
+ properties used to qualify the lookup.
544
+
545
+ :param str resource_name: The unique name of the resulting resource.
546
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
547
+ :param pulumi.ResourceOptions opts: Options for the resource.
548
+ :param pulumi.Input[_builtins.str] etag: (Computed) The etag of the IAM policy.
549
+ :param pulumi.Input[_builtins.str] location: The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
550
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
551
+ location is specified, it is taken from the provider configuration.
552
+ :param pulumi.Input[_builtins.str] policy_data: The policy data generated by
553
+ a `organizations_get_iam_policy` data source.
554
+ :param pulumi.Input[_builtins.str] workforce_pool_id: Used to find the parent resource to bind the IAM policy to
555
+ """
556
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
557
+
558
+ __props__ = _WorkforcePoolIamPolicyState.__new__(_WorkforcePoolIamPolicyState)
559
+
560
+ __props__.__dict__["etag"] = etag
561
+ __props__.__dict__["location"] = location
562
+ __props__.__dict__["policy_data"] = policy_data
563
+ __props__.__dict__["workforce_pool_id"] = workforce_pool_id
564
+ return WorkforcePoolIamPolicy(resource_name, opts=opts, __props__=__props__)
565
+
566
+ @_builtins.property
567
+ @pulumi.getter
568
+ def etag(self) -> pulumi.Output[_builtins.str]:
569
+ """
570
+ (Computed) The etag of the IAM policy.
571
+ """
572
+ return pulumi.get(self, "etag")
573
+
574
+ @_builtins.property
575
+ @pulumi.getter
576
+ def location(self) -> pulumi.Output[_builtins.str]:
577
+ """
578
+ The location for the resource. Used to find the parent resource to bind the IAM policy to. If not specified,
579
+ the value will be parsed from the identifier of the parent resource. If no location is provided in the parent identifier and no
580
+ location is specified, it is taken from the provider configuration.
581
+ """
582
+ return pulumi.get(self, "location")
583
+
584
+ @_builtins.property
585
+ @pulumi.getter(name="policyData")
586
+ def policy_data(self) -> pulumi.Output[_builtins.str]:
587
+ """
588
+ The policy data generated by
589
+ a `organizations_get_iam_policy` data source.
590
+ """
591
+ return pulumi.get(self, "policy_data")
592
+
593
+ @_builtins.property
594
+ @pulumi.getter(name="workforcePoolId")
595
+ def workforce_pool_id(self) -> pulumi.Output[_builtins.str]:
596
+ """
597
+ Used to find the parent resource to bind the IAM policy to
598
+ """
599
+ return pulumi.get(self, "workforce_pool_id")
600
+
@@ -242,7 +242,7 @@ class TunnelDestGroup(pulumi.CustomResource):
242
242
 
243
243
  dest_group = gcp.iap.TunnelDestGroup("dest_group",
244
244
  region="us-central1",
245
- group_name="testgroup_89313",
245
+ group_name="testgroup_9394",
246
246
  cidrs=[
247
247
  "10.1.0.0/16",
248
248
  "192.168.10.0/24",
@@ -325,7 +325,7 @@ class TunnelDestGroup(pulumi.CustomResource):
325
325
 
326
326
  dest_group = gcp.iap.TunnelDestGroup("dest_group",
327
327
  region="us-central1",
328
- group_name="testgroup_89313",
328
+ group_name="testgroup_9394",
329
329
  cidrs=[
330
330
  "10.1.0.0/16",
331
331
  "192.168.10.0/24",
@@ -367,8 +367,8 @@ class ManagedZone(pulumi.CustomResource):
367
367
  import pulumi_gcp as gcp
368
368
 
369
369
  target_project = gcp.organizations.Project("target_project",
370
- project_id="tf-test_60646",
371
- name="tf-test_9394",
370
+ project_id="tf-test_11380",
371
+ name="tf-test_35305",
372
372
  org_id="123456789",
373
373
  billing_account="000000-0000000-0000000-000000",
374
374
  deletion_policy="DELETE")
@@ -389,8 +389,8 @@ class ManagedZone(pulumi.CustomResource):
389
389
  auto_create_subnetworks=False,
390
390
  opts = pulumi.ResourceOptions(depends_on=[compute]))
391
391
  zone = gcp.dns.ManagedZone("zone",
392
- name="tf-test-dns_11380",
393
- dns_name="private_35305.example.com.",
392
+ name="tf-test-dns_62793",
393
+ dns_name="private_55438.example.com.",
394
394
  visibility="private",
395
395
  private_visibility_config={
396
396
  "networks": [{
@@ -475,8 +475,8 @@ class ManagedZone(pulumi.CustomResource):
475
475
  import pulumi_gcp as gcp
476
476
 
477
477
  target_project = gcp.organizations.Project("target_project",
478
- project_id="tf-test_60646",
479
- name="tf-test_9394",
478
+ project_id="tf-test_11380",
479
+ name="tf-test_35305",
480
480
  org_id="123456789",
481
481
  billing_account="000000-0000000-0000000-000000",
482
482
  deletion_policy="DELETE")
@@ -497,8 +497,8 @@ class ManagedZone(pulumi.CustomResource):
497
497
  auto_create_subnetworks=False,
498
498
  opts = pulumi.ResourceOptions(depends_on=[compute]))
499
499
  zone = gcp.dns.ManagedZone("zone",
500
- name="tf-test-dns_11380",
501
- dns_name="private_35305.example.com.",
500
+ name="tf-test-dns_62793",
501
+ dns_name="private_55438.example.com.",
502
502
  visibility="private",
503
503
  private_visibility_config={
504
504
  "networks": [{