pulumi-gcp 8.11.0a1734348982__py3-none-any.whl → 8.12.0__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 (168) hide show
  1. pulumi_gcp/__init__.py +123 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_egress_policy.py +6 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_ingress_policy.py +6 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +6 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +6 -0
  6. pulumi_gcp/apigee/app_group.py +7 -7
  7. pulumi_gcp/applicationintegration/client.py +8 -6
  8. pulumi_gcp/artifactregistry/_inputs.py +24 -15
  9. pulumi_gcp/artifactregistry/get_repository_iam_policy.py +12 -4
  10. pulumi_gcp/artifactregistry/outputs.py +32 -20
  11. pulumi_gcp/artifactregistry/repository.py +214 -39
  12. pulumi_gcp/artifactregistry/repository_iam_binding.py +42 -14
  13. pulumi_gcp/artifactregistry/repository_iam_member.py +42 -14
  14. pulumi_gcp/artifactregistry/repository_iam_policy.py +42 -14
  15. pulumi_gcp/assuredworkloads/workload.py +7 -7
  16. pulumi_gcp/backupdisasterrecovery/__init__.py +2 -0
  17. pulumi_gcp/backupdisasterrecovery/backup_plan.py +2 -2
  18. pulumi_gcp/backupdisasterrecovery/backup_vault.py +12 -8
  19. pulumi_gcp/backupdisasterrecovery/get_backup.py +153 -0
  20. pulumi_gcp/backupdisasterrecovery/get_backup_vault.py +415 -0
  21. pulumi_gcp/backupdisasterrecovery/outputs.py +63 -0
  22. pulumi_gcp/bigquery/app_profile.py +75 -0
  23. pulumi_gcp/billing/_inputs.py +6 -6
  24. pulumi_gcp/billing/outputs.py +4 -4
  25. pulumi_gcp/certificateauthority/_inputs.py +9 -9
  26. pulumi_gcp/certificateauthority/outputs.py +8 -8
  27. pulumi_gcp/cloudbuild/_inputs.py +53 -0
  28. pulumi_gcp/cloudbuild/outputs.py +50 -0
  29. pulumi_gcp/cloudbuild/worker_pool.py +47 -0
  30. pulumi_gcp/clouddeploy/_inputs.py +254 -0
  31. pulumi_gcp/clouddeploy/outputs.py +211 -0
  32. pulumi_gcp/clouddeploy/target.py +47 -0
  33. pulumi_gcp/cloudfunctionsv2/_inputs.py +6 -6
  34. pulumi_gcp/cloudfunctionsv2/outputs.py +8 -8
  35. pulumi_gcp/cloudrunv2/job.py +4 -4
  36. pulumi_gcp/cloudrunv2/service.py +4 -4
  37. pulumi_gcp/composer/get_user_workloads_config_map.py +4 -0
  38. pulumi_gcp/composer/get_user_workloads_secret.py +4 -0
  39. pulumi_gcp/composer/user_workloads_config_map.py +14 -0
  40. pulumi_gcp/composer/user_workloads_secret.py +6 -0
  41. pulumi_gcp/compute/_inputs.py +566 -25
  42. pulumi_gcp/compute/disk.py +21 -7
  43. pulumi_gcp/compute/firewall_policy_rule.py +12 -0
  44. pulumi_gcp/compute/get_forwarding_rules.py +2 -2
  45. pulumi_gcp/compute/get_global_forwarding_rule.py +23 -1
  46. pulumi_gcp/compute/get_instance_group_manager.py +12 -1
  47. pulumi_gcp/compute/get_network.py +35 -1
  48. pulumi_gcp/compute/get_region_instance_group_manager.py +12 -1
  49. pulumi_gcp/compute/get_region_network_endpoint_group.py +12 -1
  50. pulumi_gcp/compute/global_forwarding_rule.py +142 -2
  51. pulumi_gcp/compute/instance_group_manager.py +28 -0
  52. pulumi_gcp/compute/network.py +75 -0
  53. pulumi_gcp/compute/outputs.py +655 -26
  54. pulumi_gcp/compute/project_cloud_armor_tier.py +7 -7
  55. pulumi_gcp/compute/region_health_check.py +28 -0
  56. pulumi_gcp/compute/region_instance_group_manager.py +28 -0
  57. pulumi_gcp/compute/region_network_endpoint.py +28 -0
  58. pulumi_gcp/compute/region_network_endpoint_group.py +70 -2
  59. pulumi_gcp/compute/subnetwork.py +30 -2
  60. pulumi_gcp/compute/url_map.py +7 -7
  61. pulumi_gcp/config/__init__.pyi +2 -0
  62. pulumi_gcp/config/vars.py +4 -0
  63. pulumi_gcp/container/_inputs.py +201 -3
  64. pulumi_gcp/container/cluster.py +68 -14
  65. pulumi_gcp/container/get_cluster.py +12 -1
  66. pulumi_gcp/container/outputs.py +249 -3
  67. pulumi_gcp/dataproc/_inputs.py +209 -1
  68. pulumi_gcp/dataproc/batch.py +76 -0
  69. pulumi_gcp/dataproc/outputs.py +169 -3
  70. pulumi_gcp/diagflow/_inputs.py +3 -3
  71. pulumi_gcp/diagflow/outputs.py +2 -2
  72. pulumi_gcp/discoveryengine/search_engine.py +7 -7
  73. pulumi_gcp/firebase/_inputs.py +99 -0
  74. pulumi_gcp/firebase/database_instance.py +24 -6
  75. pulumi_gcp/firebase/hosting_version.py +96 -0
  76. pulumi_gcp/firebase/outputs.py +59 -0
  77. pulumi_gcp/firebase/project.py +6 -6
  78. pulumi_gcp/firebaserules/release.py +76 -0
  79. pulumi_gcp/firestore/field.py +4 -4
  80. pulumi_gcp/gemini/__init__.py +15 -0
  81. pulumi_gcp/gemini/_inputs.py +183 -0
  82. pulumi_gcp/gemini/code_repository_index.py +659 -0
  83. pulumi_gcp/gemini/get_repository_group_iam_policy.py +171 -0
  84. pulumi_gcp/gemini/outputs.py +130 -0
  85. pulumi_gcp/gemini/repository_group.py +586 -0
  86. pulumi_gcp/gemini/repository_group_iam_binding.py +604 -0
  87. pulumi_gcp/gemini/repository_group_iam_member.py +604 -0
  88. pulumi_gcp/gemini/repository_group_iam_policy.py +443 -0
  89. pulumi_gcp/gkehub/_inputs.py +30 -10
  90. pulumi_gcp/gkehub/membership_binding.py +6 -6
  91. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  92. pulumi_gcp/gkehub/namespace.py +4 -4
  93. pulumi_gcp/gkehub/outputs.py +21 -7
  94. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  95. pulumi_gcp/iam/__init__.py +1 -0
  96. pulumi_gcp/iam/_inputs.py +137 -0
  97. pulumi_gcp/iam/folders_policy_binding.py +16 -0
  98. pulumi_gcp/iam/organizations_policy_binding.py +16 -0
  99. pulumi_gcp/iam/outputs.py +99 -0
  100. pulumi_gcp/iam/principal_access_boundary_policy.py +16 -0
  101. pulumi_gcp/iam/projects_policy_binding.py +917 -0
  102. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  103. pulumi_gcp/identityplatform/_inputs.py +6 -6
  104. pulumi_gcp/identityplatform/config.py +2 -2
  105. pulumi_gcp/identityplatform/outputs.py +4 -4
  106. pulumi_gcp/integrationconnectors/_inputs.py +15 -15
  107. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  108. pulumi_gcp/integrationconnectors/outputs.py +10 -10
  109. pulumi_gcp/looker/instance.py +35 -14
  110. pulumi_gcp/monitoring/_inputs.py +13 -6
  111. pulumi_gcp/monitoring/outputs.py +10 -4
  112. pulumi_gcp/netapp/_inputs.py +3 -3
  113. pulumi_gcp/netapp/active_directory.py +7 -7
  114. pulumi_gcp/netapp/outputs.py +2 -2
  115. pulumi_gcp/netapp/volume.py +11 -11
  116. pulumi_gcp/networkconnectivity/_inputs.py +10 -12
  117. pulumi_gcp/networkconnectivity/outputs.py +6 -8
  118. pulumi_gcp/networkconnectivity/spoke.py +10 -10
  119. pulumi_gcp/networksecurity/__init__.py +7 -0
  120. pulumi_gcp/networksecurity/_inputs.py +2018 -0
  121. pulumi_gcp/networksecurity/authz_policy.py +1008 -0
  122. pulumi_gcp/networksecurity/intercept_deployment.py +846 -0
  123. pulumi_gcp/networksecurity/intercept_deployment_group.py +752 -0
  124. pulumi_gcp/networksecurity/mirroring_deployment.py +848 -0
  125. pulumi_gcp/networksecurity/mirroring_deployment_group.py +752 -0
  126. pulumi_gcp/networksecurity/mirroring_endpoint_group.py +737 -0
  127. pulumi_gcp/networksecurity/mirroring_endpoint_group_association.py +840 -0
  128. pulumi_gcp/networksecurity/outputs.py +1463 -0
  129. pulumi_gcp/networkservices/__init__.py +1 -0
  130. pulumi_gcp/networkservices/authz_extension.py +1080 -0
  131. pulumi_gcp/oracledatabase/autonomous_database.py +46 -8
  132. pulumi_gcp/oracledatabase/cloud_exadata_infrastructure.py +42 -4
  133. pulumi_gcp/oracledatabase/cloud_vm_cluster.py +50 -8
  134. pulumi_gcp/oracledatabase/get_autonomous_database.py +12 -1
  135. pulumi_gcp/oracledatabase/get_cloud_exadata_infrastructure.py +12 -1
  136. pulumi_gcp/oracledatabase/get_cloud_vm_cluster.py +12 -1
  137. pulumi_gcp/oracledatabase/outputs.py +21 -0
  138. pulumi_gcp/orgpolicy/_inputs.py +40 -0
  139. pulumi_gcp/orgpolicy/outputs.py +24 -0
  140. pulumi_gcp/orgpolicy/policy.py +66 -10
  141. pulumi_gcp/parallelstore/instance.py +4 -0
  142. pulumi_gcp/provider.py +20 -0
  143. pulumi_gcp/pubsub/subscription.py +6 -6
  144. pulumi_gcp/pulumi-plugin.json +1 -1
  145. pulumi_gcp/redis/_inputs.py +435 -3
  146. pulumi_gcp/redis/cluster.py +287 -16
  147. pulumi_gcp/redis/outputs.py +304 -2
  148. pulumi_gcp/serviceaccount/get_account_id_token.py +2 -2
  149. pulumi_gcp/serviceaccount/get_account_key.py +2 -2
  150. pulumi_gcp/sql/_inputs.py +3 -3
  151. pulumi_gcp/sql/database_instance.py +14 -14
  152. pulumi_gcp/sql/outputs.py +2 -2
  153. pulumi_gcp/storage/_inputs.py +53 -6
  154. pulumi_gcp/storage/get_bucket.py +2 -2
  155. pulumi_gcp/storage/get_bucket_object_content.py +2 -2
  156. pulumi_gcp/storage/outputs.py +33 -4
  157. pulumi_gcp/tpu/__init__.py +1 -0
  158. pulumi_gcp/tpu/_inputs.py +214 -24
  159. pulumi_gcp/tpu/outputs.py +182 -16
  160. pulumi_gcp/tpu/v2_queued_resource.py +434 -0
  161. pulumi_gcp/tpu/v2_vm.py +63 -0
  162. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  163. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  164. pulumi_gcp/vertex/ai_index_endpoint.py +2 -2
  165. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/METADATA +1 -1
  166. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/RECORD +168 -147
  167. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/WHEEL +0 -0
  168. {pulumi_gcp-8.11.0a1734348982.dist-info → pulumi_gcp-8.12.0.dist-info}/top_level.txt +0 -0
@@ -181,6 +181,54 @@ class HostingVersion(pulumi.CustomResource):
181
181
  version_name=default_hosting_version.name,
182
182
  message="Redirect to Google")
183
183
  ```
184
+ ### Firebasehosting Version Headers
185
+
186
+ ```python
187
+ import pulumi
188
+ import pulumi_gcp as gcp
189
+
190
+ default = gcp.firebase.HostingSite("default",
191
+ project="my-project-name",
192
+ site_id="site-id")
193
+ default_hosting_version = gcp.firebase.HostingVersion("default",
194
+ site_id=default.site_id,
195
+ config={
196
+ "headers": [{
197
+ "glob": "/headers/**",
198
+ "headers": {
199
+ "my-header": "my-value",
200
+ },
201
+ }],
202
+ })
203
+ default_hosting_release = gcp.firebase.HostingRelease("default",
204
+ site_id=default.site_id,
205
+ version_name=default_hosting_version.name,
206
+ message="With custom headers")
207
+ ```
208
+ ### Firebasehosting Version Headers Regex
209
+
210
+ ```python
211
+ import pulumi
212
+ import pulumi_gcp as gcp
213
+
214
+ default = gcp.firebase.HostingSite("default",
215
+ project="my-project-name",
216
+ site_id="site-id")
217
+ default_hosting_version = gcp.firebase.HostingVersion("default",
218
+ site_id=default.site_id,
219
+ config={
220
+ "headers": [{
221
+ "regex": "^~/headers$",
222
+ "headers": {
223
+ "my-header": "my-value",
224
+ },
225
+ }],
226
+ })
227
+ default_hosting_release = gcp.firebase.HostingRelease("default",
228
+ site_id=default.site_id,
229
+ version_name=default_hosting_version.name,
230
+ message="With custom headers")
231
+ ```
184
232
  ### Firebasehosting Version Path
185
233
 
186
234
  ```python
@@ -340,6 +388,54 @@ class HostingVersion(pulumi.CustomResource):
340
388
  version_name=default_hosting_version.name,
341
389
  message="Redirect to Google")
342
390
  ```
391
+ ### Firebasehosting Version Headers
392
+
393
+ ```python
394
+ import pulumi
395
+ import pulumi_gcp as gcp
396
+
397
+ default = gcp.firebase.HostingSite("default",
398
+ project="my-project-name",
399
+ site_id="site-id")
400
+ default_hosting_version = gcp.firebase.HostingVersion("default",
401
+ site_id=default.site_id,
402
+ config={
403
+ "headers": [{
404
+ "glob": "/headers/**",
405
+ "headers": {
406
+ "my-header": "my-value",
407
+ },
408
+ }],
409
+ })
410
+ default_hosting_release = gcp.firebase.HostingRelease("default",
411
+ site_id=default.site_id,
412
+ version_name=default_hosting_version.name,
413
+ message="With custom headers")
414
+ ```
415
+ ### Firebasehosting Version Headers Regex
416
+
417
+ ```python
418
+ import pulumi
419
+ import pulumi_gcp as gcp
420
+
421
+ default = gcp.firebase.HostingSite("default",
422
+ project="my-project-name",
423
+ site_id="site-id")
424
+ default_hosting_version = gcp.firebase.HostingVersion("default",
425
+ site_id=default.site_id,
426
+ config={
427
+ "headers": [{
428
+ "regex": "^~/headers$",
429
+ "headers": {
430
+ "my-header": "my-value",
431
+ },
432
+ }],
433
+ })
434
+ default_hosting_release = gcp.firebase.HostingRelease("default",
435
+ site_id=default.site_id,
436
+ version_name=default_hosting_version.name,
437
+ message="With custom headers")
438
+ ```
343
439
  ### Firebasehosting Version Path
344
440
 
345
441
  ```python
@@ -36,6 +36,7 @@ __all__ = [
36
36
  'HostingCustomDomainRequiredDnsUpdateDiscovered',
37
37
  'HostingCustomDomainRequiredDnsUpdateDiscoveredRecord',
38
38
  'HostingVersionConfig',
39
+ 'HostingVersionConfigHeader',
39
40
  'HostingVersionConfigRedirect',
40
41
  'HostingVersionConfigRewrite',
41
42
  'HostingVersionConfigRewriteRun',
@@ -1308,9 +1309,13 @@ class HostingCustomDomainRequiredDnsUpdateDiscoveredRecord(dict):
1308
1309
  @pulumi.output_type
1309
1310
  class HostingVersionConfig(dict):
1310
1311
  def __init__(__self__, *,
1312
+ headers: Optional[Sequence['outputs.HostingVersionConfigHeader']] = None,
1311
1313
  redirects: Optional[Sequence['outputs.HostingVersionConfigRedirect']] = None,
1312
1314
  rewrites: Optional[Sequence['outputs.HostingVersionConfigRewrite']] = None):
1313
1315
  """
1316
+ :param Sequence['HostingVersionConfigHeaderArgs'] headers: An array of objects, where each object specifies a URL pattern that, if matched to the request URL path,
1317
+ triggers Hosting to apply the specified custom response headers.
1318
+ Structure is documented below.
1314
1319
  :param Sequence['HostingVersionConfigRedirectArgs'] redirects: An array of objects (called redirect rules), where each rule specifies a URL pattern that, if matched to the request URL path,
1315
1320
  triggers Hosting to respond with a redirect to the specified destination path.
1316
1321
  Structure is documented below.
@@ -1318,11 +1323,23 @@ class HostingVersionConfig(dict):
1318
1323
  request URL path, triggers Hosting to respond as if the service were given the specified destination URL.
1319
1324
  Structure is documented below.
1320
1325
  """
1326
+ if headers is not None:
1327
+ pulumi.set(__self__, "headers", headers)
1321
1328
  if redirects is not None:
1322
1329
  pulumi.set(__self__, "redirects", redirects)
1323
1330
  if rewrites is not None:
1324
1331
  pulumi.set(__self__, "rewrites", rewrites)
1325
1332
 
1333
+ @property
1334
+ @pulumi.getter
1335
+ def headers(self) -> Optional[Sequence['outputs.HostingVersionConfigHeader']]:
1336
+ """
1337
+ An array of objects, where each object specifies a URL pattern that, if matched to the request URL path,
1338
+ triggers Hosting to apply the specified custom response headers.
1339
+ Structure is documented below.
1340
+ """
1341
+ return pulumi.get(self, "headers")
1342
+
1326
1343
  @property
1327
1344
  @pulumi.getter
1328
1345
  def redirects(self) -> Optional[Sequence['outputs.HostingVersionConfigRedirect']]:
@@ -1344,6 +1361,48 @@ class HostingVersionConfig(dict):
1344
1361
  return pulumi.get(self, "rewrites")
1345
1362
 
1346
1363
 
1364
+ @pulumi.output_type
1365
+ class HostingVersionConfigHeader(dict):
1366
+ def __init__(__self__, *,
1367
+ headers: Mapping[str, str],
1368
+ glob: Optional[str] = None,
1369
+ regex: Optional[str] = None):
1370
+ """
1371
+ :param Mapping[str, str] headers: The additional headers to add to the response. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
1372
+ :param str glob: The user-supplied glob to match against the request URL path.
1373
+ :param str regex: The user-supplied RE2 regular expression to match against the request URL path.
1374
+ """
1375
+ pulumi.set(__self__, "headers", headers)
1376
+ if glob is not None:
1377
+ pulumi.set(__self__, "glob", glob)
1378
+ if regex is not None:
1379
+ pulumi.set(__self__, "regex", regex)
1380
+
1381
+ @property
1382
+ @pulumi.getter
1383
+ def headers(self) -> Mapping[str, str]:
1384
+ """
1385
+ The additional headers to add to the response. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
1386
+ """
1387
+ return pulumi.get(self, "headers")
1388
+
1389
+ @property
1390
+ @pulumi.getter
1391
+ def glob(self) -> Optional[str]:
1392
+ """
1393
+ The user-supplied glob to match against the request URL path.
1394
+ """
1395
+ return pulumi.get(self, "glob")
1396
+
1397
+ @property
1398
+ @pulumi.getter
1399
+ def regex(self) -> Optional[str]:
1400
+ """
1401
+ The user-supplied RE2 regular expression to match against the request URL path.
1402
+ """
1403
+ return pulumi.get(self, "regex")
1404
+
1405
+
1347
1406
  @pulumi.output_type
1348
1407
  class HostingVersionConfigRedirect(dict):
1349
1408
  @staticmethod
@@ -53,7 +53,7 @@ class _ProjectState:
53
53
  :param pulumi.Input[str] display_name: The GCP project display name
54
54
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
55
55
  If it is not provided, the provider project is used.
56
- :param pulumi.Input[str] project_number: The number of the google project that firebase is enabled on.
56
+ :param pulumi.Input[str] project_number: The number of the Google Project that Firebase is enabled on.
57
57
  """
58
58
  if display_name is not None:
59
59
  pulumi.set(__self__, "display_name", display_name)
@@ -91,7 +91,7 @@ class _ProjectState:
91
91
  @pulumi.getter(name="projectNumber")
92
92
  def project_number(self) -> Optional[pulumi.Input[str]]:
93
93
  """
94
- The number of the google project that firebase is enabled on.
94
+ The number of the Google Project that Firebase is enabled on.
95
95
  """
96
96
  return pulumi.get(self, "project_number")
97
97
 
@@ -108,7 +108,7 @@ class Project(pulumi.CustomResource):
108
108
  project: Optional[pulumi.Input[str]] = None,
109
109
  __props__=None):
110
110
  """
111
- A Google Cloud Firebase instance. This enables Firebase resources on a given google project.
111
+ A Google Cloud Firebase instance. This enables Firebase resources on a given Google Project.
112
112
  Since a FirebaseProject is actually also a GCP Project, a FirebaseProject uses underlying GCP
113
113
  identifiers (most importantly, the projectId) as its own for easy interop with GCP APIs.
114
114
  Once Firebase has been added to a Google Project it cannot be removed.
@@ -172,7 +172,7 @@ class Project(pulumi.CustomResource):
172
172
  args: Optional[ProjectArgs] = None,
173
173
  opts: Optional[pulumi.ResourceOptions] = None):
174
174
  """
175
- A Google Cloud Firebase instance. This enables Firebase resources on a given google project.
175
+ A Google Cloud Firebase instance. This enables Firebase resources on a given Google Project.
176
176
  Since a FirebaseProject is actually also a GCP Project, a FirebaseProject uses underlying GCP
177
177
  identifiers (most importantly, the projectId) as its own for easy interop with GCP APIs.
178
178
  Once Firebase has been added to a Google Project it cannot be removed.
@@ -275,7 +275,7 @@ class Project(pulumi.CustomResource):
275
275
  :param pulumi.Input[str] display_name: The GCP project display name
276
276
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
277
277
  If it is not provided, the provider project is used.
278
- :param pulumi.Input[str] project_number: The number of the google project that firebase is enabled on.
278
+ :param pulumi.Input[str] project_number: The number of the Google Project that Firebase is enabled on.
279
279
  """
280
280
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
281
281
 
@@ -307,7 +307,7 @@ class Project(pulumi.CustomResource):
307
307
  @pulumi.getter(name="projectNumber")
308
308
  def project_number(self) -> pulumi.Output[str]:
309
309
  """
310
- The number of the google project that firebase is enabled on.
310
+ The number of the Google Project that Firebase is enabled on.
311
311
  """
312
312
  return pulumi.get(self, "project_number")
313
313
 
@@ -205,6 +205,44 @@ class Release(pulumi.CustomResource):
205
205
  * [Get started with Firebase Security Rules](https://firebase.google.com/docs/rules/get-started)
206
206
  ## Example Usage
207
207
 
208
+ ### Firestore_release
209
+ Creates a Firebase Rules Release to the default Cloud Firestore instance
210
+ ```python
211
+ import pulumi
212
+ import pulumi_gcp as gcp
213
+
214
+ firestore = gcp.firebaserules.Ruleset("firestore",
215
+ project="my-project-name",
216
+ source={
217
+ "files": [{
218
+ "content": "service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }",
219
+ "name": "firestore.rules",
220
+ }],
221
+ })
222
+ primary = gcp.firebaserules.Release("primary",
223
+ name="cloud.firestore",
224
+ project="my-project-name",
225
+ ruleset_name=firestore.name.apply(lambda name: f"projects/my-project-name/rulesets/{name}"))
226
+ ```
227
+ ### Firestore_release_additional
228
+ Creates a Firebase Rules Release to an additional Cloud Firestore instance
229
+ ```python
230
+ import pulumi
231
+ import pulumi_gcp as gcp
232
+
233
+ firestore = gcp.firebaserules.Ruleset("firestore",
234
+ project="my-project-name",
235
+ source={
236
+ "files": [{
237
+ "content": "service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }",
238
+ "name": "firestore.rules",
239
+ }],
240
+ })
241
+ primary = gcp.firebaserules.Release("primary",
242
+ name="cloud.firestore/database",
243
+ project="my-project-name",
244
+ ruleset_name=firestore.name.apply(lambda name: f"projects/my-project-name/rulesets/{name}"))
245
+ ```
208
246
  ## Import
209
247
 
210
248
  Release can be imported using any of these accepted formats:
@@ -237,6 +275,44 @@ class Release(pulumi.CustomResource):
237
275
  * [Get started with Firebase Security Rules](https://firebase.google.com/docs/rules/get-started)
238
276
  ## Example Usage
239
277
 
278
+ ### Firestore_release
279
+ Creates a Firebase Rules Release to the default Cloud Firestore instance
280
+ ```python
281
+ import pulumi
282
+ import pulumi_gcp as gcp
283
+
284
+ firestore = gcp.firebaserules.Ruleset("firestore",
285
+ project="my-project-name",
286
+ source={
287
+ "files": [{
288
+ "content": "service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }",
289
+ "name": "firestore.rules",
290
+ }],
291
+ })
292
+ primary = gcp.firebaserules.Release("primary",
293
+ name="cloud.firestore",
294
+ project="my-project-name",
295
+ ruleset_name=firestore.name.apply(lambda name: f"projects/my-project-name/rulesets/{name}"))
296
+ ```
297
+ ### Firestore_release_additional
298
+ Creates a Firebase Rules Release to an additional Cloud Firestore instance
299
+ ```python
300
+ import pulumi
301
+ import pulumi_gcp as gcp
302
+
303
+ firestore = gcp.firebaserules.Ruleset("firestore",
304
+ project="my-project-name",
305
+ source={
306
+ "files": [{
307
+ "content": "service cloud.firestore {match /databases/{database}/documents { match /{document=**} { allow read, write: if false; } } }",
308
+ "name": "firestore.rules",
309
+ }],
310
+ })
311
+ primary = gcp.firebaserules.Release("primary",
312
+ name="cloud.firestore/database",
313
+ project="my-project-name",
314
+ ruleset_name=firestore.name.apply(lambda name: f"projects/my-project-name/rulesets/{name}"))
315
+ ```
240
316
  ## Import
241
317
 
242
318
  Release can be imported using any of these accepted formats:
@@ -324,7 +324,7 @@ class Field(pulumi.CustomResource):
324
324
  basic = gcp.firestore.Field("basic",
325
325
  project="my-project-name",
326
326
  database=database.name,
327
- collection="chatrooms__16511",
327
+ collection="chatrooms__8493",
328
328
  field="basic",
329
329
  index_config={
330
330
  "indexes": [
@@ -375,7 +375,7 @@ class Field(pulumi.CustomResource):
375
375
  match_override = gcp.firestore.Field("match_override",
376
376
  project="my-project-name",
377
377
  database=database.name,
378
- collection="chatrooms__8493",
378
+ collection="chatrooms__9106",
379
379
  field="field_with_same_configuration_as_ancestor",
380
380
  index_config={
381
381
  "indexes": [
@@ -462,7 +462,7 @@ class Field(pulumi.CustomResource):
462
462
  basic = gcp.firestore.Field("basic",
463
463
  project="my-project-name",
464
464
  database=database.name,
465
- collection="chatrooms__16511",
465
+ collection="chatrooms__8493",
466
466
  field="basic",
467
467
  index_config={
468
468
  "indexes": [
@@ -513,7 +513,7 @@ class Field(pulumi.CustomResource):
513
513
  match_override = gcp.firestore.Field("match_override",
514
514
  project="my-project-name",
515
515
  database=database.name,
516
- collection="chatrooms__8493",
516
+ collection="chatrooms__9106",
517
517
  field="field_with_same_configuration_as_ancestor",
518
518
  index_config={
519
519
  "indexes": [
@@ -0,0 +1,15 @@
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
+ from .. import _utilities
6
+ import typing
7
+ # Export this package's modules as members:
8
+ from .code_repository_index import *
9
+ from .get_repository_group_iam_policy import *
10
+ from .repository_group import *
11
+ from .repository_group_iam_binding import *
12
+ from .repository_group_iam_member import *
13
+ from .repository_group_iam_policy import *
14
+ from ._inputs import *
15
+ from . import outputs
@@ -0,0 +1,183 @@
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
+
17
+ __all__ = [
18
+ 'RepositoryGroupIamBindingConditionArgs',
19
+ 'RepositoryGroupIamBindingConditionArgsDict',
20
+ 'RepositoryGroupIamMemberConditionArgs',
21
+ 'RepositoryGroupIamMemberConditionArgsDict',
22
+ 'RepositoryGroupRepositoryArgs',
23
+ 'RepositoryGroupRepositoryArgsDict',
24
+ ]
25
+
26
+ MYPY = False
27
+
28
+ if not MYPY:
29
+ class RepositoryGroupIamBindingConditionArgsDict(TypedDict):
30
+ expression: pulumi.Input[str]
31
+ title: pulumi.Input[str]
32
+ description: NotRequired[pulumi.Input[str]]
33
+ elif False:
34
+ RepositoryGroupIamBindingConditionArgsDict: TypeAlias = Mapping[str, Any]
35
+
36
+ @pulumi.input_type
37
+ class RepositoryGroupIamBindingConditionArgs:
38
+ def __init__(__self__, *,
39
+ expression: pulumi.Input[str],
40
+ title: pulumi.Input[str],
41
+ description: Optional[pulumi.Input[str]] = None):
42
+ pulumi.set(__self__, "expression", expression)
43
+ pulumi.set(__self__, "title", title)
44
+ if description is not None:
45
+ pulumi.set(__self__, "description", description)
46
+
47
+ @property
48
+ @pulumi.getter
49
+ def expression(self) -> pulumi.Input[str]:
50
+ return pulumi.get(self, "expression")
51
+
52
+ @expression.setter
53
+ def expression(self, value: pulumi.Input[str]):
54
+ pulumi.set(self, "expression", value)
55
+
56
+ @property
57
+ @pulumi.getter
58
+ def title(self) -> pulumi.Input[str]:
59
+ return pulumi.get(self, "title")
60
+
61
+ @title.setter
62
+ def title(self, value: pulumi.Input[str]):
63
+ pulumi.set(self, "title", value)
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def description(self) -> Optional[pulumi.Input[str]]:
68
+ return pulumi.get(self, "description")
69
+
70
+ @description.setter
71
+ def description(self, value: Optional[pulumi.Input[str]]):
72
+ pulumi.set(self, "description", value)
73
+
74
+
75
+ if not MYPY:
76
+ class RepositoryGroupIamMemberConditionArgsDict(TypedDict):
77
+ expression: pulumi.Input[str]
78
+ title: pulumi.Input[str]
79
+ description: NotRequired[pulumi.Input[str]]
80
+ elif False:
81
+ RepositoryGroupIamMemberConditionArgsDict: TypeAlias = Mapping[str, Any]
82
+
83
+ @pulumi.input_type
84
+ class RepositoryGroupIamMemberConditionArgs:
85
+ def __init__(__self__, *,
86
+ expression: pulumi.Input[str],
87
+ title: pulumi.Input[str],
88
+ description: Optional[pulumi.Input[str]] = None):
89
+ pulumi.set(__self__, "expression", expression)
90
+ pulumi.set(__self__, "title", title)
91
+ if description is not None:
92
+ pulumi.set(__self__, "description", description)
93
+
94
+ @property
95
+ @pulumi.getter
96
+ def expression(self) -> pulumi.Input[str]:
97
+ return pulumi.get(self, "expression")
98
+
99
+ @expression.setter
100
+ def expression(self, value: pulumi.Input[str]):
101
+ pulumi.set(self, "expression", value)
102
+
103
+ @property
104
+ @pulumi.getter
105
+ def title(self) -> pulumi.Input[str]:
106
+ return pulumi.get(self, "title")
107
+
108
+ @title.setter
109
+ def title(self, value: pulumi.Input[str]):
110
+ pulumi.set(self, "title", value)
111
+
112
+ @property
113
+ @pulumi.getter
114
+ def description(self) -> Optional[pulumi.Input[str]]:
115
+ return pulumi.get(self, "description")
116
+
117
+ @description.setter
118
+ def description(self, value: Optional[pulumi.Input[str]]):
119
+ pulumi.set(self, "description", value)
120
+
121
+
122
+ if not MYPY:
123
+ class RepositoryGroupRepositoryArgsDict(TypedDict):
124
+ branch_pattern: pulumi.Input[str]
125
+ """
126
+ Required. The Git branch pattern used for indexing in RE2 syntax.
127
+ See https://github.com/google/re2/wiki/syntax for syntax.
128
+
129
+ - - -
130
+ """
131
+ resource: pulumi.Input[str]
132
+ """
133
+ Required. The DeveloperConnect repository full resource name, relative resource name
134
+ or resource URL to be indexed.
135
+ """
136
+ elif False:
137
+ RepositoryGroupRepositoryArgsDict: TypeAlias = Mapping[str, Any]
138
+
139
+ @pulumi.input_type
140
+ class RepositoryGroupRepositoryArgs:
141
+ def __init__(__self__, *,
142
+ branch_pattern: pulumi.Input[str],
143
+ resource: pulumi.Input[str]):
144
+ """
145
+ :param pulumi.Input[str] branch_pattern: Required. The Git branch pattern used for indexing in RE2 syntax.
146
+ See https://github.com/google/re2/wiki/syntax for syntax.
147
+
148
+ - - -
149
+ :param pulumi.Input[str] resource: Required. The DeveloperConnect repository full resource name, relative resource name
150
+ or resource URL to be indexed.
151
+ """
152
+ pulumi.set(__self__, "branch_pattern", branch_pattern)
153
+ pulumi.set(__self__, "resource", resource)
154
+
155
+ @property
156
+ @pulumi.getter(name="branchPattern")
157
+ def branch_pattern(self) -> pulumi.Input[str]:
158
+ """
159
+ Required. The Git branch pattern used for indexing in RE2 syntax.
160
+ See https://github.com/google/re2/wiki/syntax for syntax.
161
+
162
+ - - -
163
+ """
164
+ return pulumi.get(self, "branch_pattern")
165
+
166
+ @branch_pattern.setter
167
+ def branch_pattern(self, value: pulumi.Input[str]):
168
+ pulumi.set(self, "branch_pattern", value)
169
+
170
+ @property
171
+ @pulumi.getter
172
+ def resource(self) -> pulumi.Input[str]:
173
+ """
174
+ Required. The DeveloperConnect repository full resource name, relative resource name
175
+ or resource URL to be indexed.
176
+ """
177
+ return pulumi.get(self, "resource")
178
+
179
+ @resource.setter
180
+ def resource(self, value: pulumi.Input[str]):
181
+ pulumi.set(self, "resource", value)
182
+
183
+