pulumi-gcp 7.21.0a1714565535__py3-none-any.whl → 7.21.0a1714768411__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 (56) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/_inputs.py +74 -0
  3. pulumi_gcp/alloydb/instance.py +90 -0
  4. pulumi_gcp/alloydb/outputs.py +98 -0
  5. pulumi_gcp/apigee/environment.py +47 -0
  6. pulumi_gcp/applicationintegration/__init__.py +1 -0
  7. pulumi_gcp/applicationintegration/_inputs.py +843 -0
  8. pulumi_gcp/applicationintegration/auth_config.py +998 -0
  9. pulumi_gcp/applicationintegration/outputs.py +891 -0
  10. pulumi_gcp/bigquerydatapolicy/_inputs.py +21 -4
  11. pulumi_gcp/bigquerydatapolicy/data_policy.py +78 -0
  12. pulumi_gcp/bigquerydatapolicy/outputs.py +16 -3
  13. pulumi_gcp/certificateauthority/_inputs.py +92 -12
  14. pulumi_gcp/certificateauthority/authority.py +110 -0
  15. pulumi_gcp/certificateauthority/certificate.py +176 -0
  16. pulumi_gcp/certificateauthority/outputs.py +144 -12
  17. pulumi_gcp/composer/__init__.py +1 -0
  18. pulumi_gcp/composer/user_workloads_secret.py +441 -0
  19. pulumi_gcp/compute/__init__.py +1 -0
  20. pulumi_gcp/compute/_inputs.py +121 -58
  21. pulumi_gcp/compute/global_forwarding_rule.py +0 -282
  22. pulumi_gcp/compute/outputs.py +120 -57
  23. pulumi_gcp/compute/region_target_https_proxy.py +257 -0
  24. pulumi_gcp/compute/region_url_map.py +0 -470
  25. pulumi_gcp/compute/security_policy_rule.py +850 -0
  26. pulumi_gcp/dataloss/__init__.py +1 -0
  27. pulumi_gcp/dataloss/_inputs.py +1040 -0
  28. pulumi_gcp/dataloss/outputs.py +1123 -0
  29. pulumi_gcp/dataloss/prevention_discovery_config.py +737 -0
  30. pulumi_gcp/dns/_inputs.py +2 -2
  31. pulumi_gcp/dns/outputs.py +2 -2
  32. pulumi_gcp/dns/record_set.py +2 -2
  33. pulumi_gcp/filestore/get_instance.py +11 -1
  34. pulumi_gcp/filestore/instance.py +101 -0
  35. pulumi_gcp/firebase/_inputs.py +16 -0
  36. pulumi_gcp/firebase/app_check_play_integrity_config.py +20 -0
  37. pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +10 -0
  38. pulumi_gcp/firebase/hosting_version.py +44 -0
  39. pulumi_gcp/firebase/outputs.py +12 -0
  40. pulumi_gcp/logging/folder_sink.py +54 -0
  41. pulumi_gcp/logging/organization_sink.py +54 -0
  42. pulumi_gcp/monitoring/_inputs.py +46 -2
  43. pulumi_gcp/monitoring/outputs.py +40 -2
  44. pulumi_gcp/monitoring/uptime_check_config.py +6 -0
  45. pulumi_gcp/networkconnectivity/__init__.py +1 -0
  46. pulumi_gcp/networkconnectivity/internal_range.py +1024 -0
  47. pulumi_gcp/secretmanager/get_secret.py +13 -3
  48. pulumi_gcp/secretmanager/outputs.py +20 -1
  49. pulumi_gcp/secretmanager/secret.py +90 -3
  50. pulumi_gcp/storage/__init__.py +1 -0
  51. pulumi_gcp/storage/get_bucket_objects.py +153 -0
  52. pulumi_gcp/storage/outputs.py +63 -0
  53. {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714768411.dist-info}/METADATA +1 -1
  54. {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714768411.dist-info}/RECORD +56 -50
  55. {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714768411.dist-info}/WHEEL +0 -0
  56. {pulumi_gcp-7.21.0a1714565535.dist-info → pulumi_gcp-7.21.0a1714768411.dist-info}/top_level.txt +0 -0
pulumi_gcp/dns/_inputs.py CHANGED
@@ -690,7 +690,7 @@ class RecordSetRoutingPolicyArgs:
690
690
  :param pulumi.Input[bool] enable_geo_fencing: Specifies whether to enable fencing for geo queries.
691
691
  :param pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyGeoArgs']]] geos: The configuration for Geolocation based routing policy.
692
692
  Structure is documented below.
693
- :param pulumi.Input['RecordSetRoutingPolicyPrimaryBackupArgs'] primary_backup: The configuration for a primary-backup policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
693
+ :param pulumi.Input['RecordSetRoutingPolicyPrimaryBackupArgs'] primary_backup: The configuration for a failover policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
694
694
  Structure is documented below.
695
695
  :param pulumi.Input[Sequence[pulumi.Input['RecordSetRoutingPolicyWrrArgs']]] wrrs: The configuration for Weighted Round Robin based routing policy.
696
696
  Structure is documented below.
@@ -733,7 +733,7 @@ class RecordSetRoutingPolicyArgs:
733
733
  @pulumi.getter(name="primaryBackup")
734
734
  def primary_backup(self) -> Optional[pulumi.Input['RecordSetRoutingPolicyPrimaryBackupArgs']]:
735
735
  """
736
- The configuration for a primary-backup policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
736
+ The configuration for a failover policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
737
737
  Structure is documented below.
738
738
  """
739
739
  return pulumi.get(self, "primary_backup")
pulumi_gcp/dns/outputs.py CHANGED
@@ -841,7 +841,7 @@ class RecordSetRoutingPolicy(dict):
841
841
  :param bool enable_geo_fencing: Specifies whether to enable fencing for geo queries.
842
842
  :param Sequence['RecordSetRoutingPolicyGeoArgs'] geos: The configuration for Geolocation based routing policy.
843
843
  Structure is documented below.
844
- :param 'RecordSetRoutingPolicyPrimaryBackupArgs' primary_backup: The configuration for a primary-backup policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
844
+ :param 'RecordSetRoutingPolicyPrimaryBackupArgs' primary_backup: The configuration for a failover policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
845
845
  Structure is documented below.
846
846
  :param Sequence['RecordSetRoutingPolicyWrrArgs'] wrrs: The configuration for Weighted Round Robin based routing policy.
847
847
  Structure is documented below.
@@ -876,7 +876,7 @@ class RecordSetRoutingPolicy(dict):
876
876
  @pulumi.getter(name="primaryBackup")
877
877
  def primary_backup(self) -> Optional['outputs.RecordSetRoutingPolicyPrimaryBackup']:
878
878
  """
879
- The configuration for a primary-backup policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
879
+ The configuration for a failover policy with global to regional failover. Queries are responded to with the global primary targets, but if none of the primary targets are healthy, then we fallback to a regional failover policy.
880
880
  Structure is documented below.
881
881
  """
882
882
  return pulumi.get(self, "primary_backup")
@@ -416,7 +416,7 @@ class RecordSet(pulumi.CustomResource):
416
416
  ))
417
417
  ```
418
418
 
419
- ### Primary-Backup
419
+ ### Failover
420
420
 
421
421
  ```python
422
422
  import pulumi
@@ -654,7 +654,7 @@ class RecordSet(pulumi.CustomResource):
654
654
  ))
655
655
  ```
656
656
 
657
- ### Primary-Backup
657
+ ### Failover
658
658
 
659
659
  ```python
660
660
  import pulumi
@@ -22,7 +22,7 @@ class GetInstanceResult:
22
22
  """
23
23
  A collection of values returned by getInstance.
24
24
  """
25
- def __init__(__self__, create_time=None, description=None, effective_labels=None, etag=None, file_shares=None, id=None, kms_key_name=None, labels=None, location=None, name=None, networks=None, project=None, pulumi_labels=None, tier=None, zone=None):
25
+ def __init__(__self__, create_time=None, description=None, effective_labels=None, etag=None, file_shares=None, id=None, kms_key_name=None, labels=None, location=None, name=None, networks=None, project=None, protocol=None, pulumi_labels=None, tier=None, zone=None):
26
26
  if create_time and not isinstance(create_time, str):
27
27
  raise TypeError("Expected argument 'create_time' to be a str")
28
28
  pulumi.set(__self__, "create_time", create_time)
@@ -59,6 +59,9 @@ class GetInstanceResult:
59
59
  if project and not isinstance(project, str):
60
60
  raise TypeError("Expected argument 'project' to be a str")
61
61
  pulumi.set(__self__, "project", project)
62
+ if protocol and not isinstance(protocol, str):
63
+ raise TypeError("Expected argument 'protocol' to be a str")
64
+ pulumi.set(__self__, "protocol", protocol)
62
65
  if pulumi_labels and not isinstance(pulumi_labels, dict):
63
66
  raise TypeError("Expected argument 'pulumi_labels' to be a dict")
64
67
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
@@ -132,6 +135,11 @@ class GetInstanceResult:
132
135
  def project(self) -> Optional[str]:
133
136
  return pulumi.get(self, "project")
134
137
 
138
+ @property
139
+ @pulumi.getter
140
+ def protocol(self) -> str:
141
+ return pulumi.get(self, "protocol")
142
+
135
143
  @property
136
144
  @pulumi.getter(name="pulumiLabels")
137
145
  def pulumi_labels(self) -> Mapping[str, str]:
@@ -166,6 +174,7 @@ class AwaitableGetInstanceResult(GetInstanceResult):
166
174
  name=self.name,
167
175
  networks=self.networks,
168
176
  project=self.project,
177
+ protocol=self.protocol,
169
178
  pulumi_labels=self.pulumi_labels,
170
179
  tier=self.tier,
171
180
  zone=self.zone)
@@ -210,6 +219,7 @@ def get_instance(location: Optional[str] = None,
210
219
  name=pulumi.get(__ret__, 'name'),
211
220
  networks=pulumi.get(__ret__, 'networks'),
212
221
  project=pulumi.get(__ret__, 'project'),
222
+ protocol=pulumi.get(__ret__, 'protocol'),
213
223
  pulumi_labels=pulumi.get(__ret__, 'pulumi_labels'),
214
224
  tier=pulumi.get(__ret__, 'tier'),
215
225
  zone=pulumi.get(__ret__, 'zone'))
@@ -25,6 +25,7 @@ class InstanceArgs:
25
25
  location: Optional[pulumi.Input[str]] = None,
26
26
  name: Optional[pulumi.Input[str]] = None,
27
27
  project: Optional[pulumi.Input[str]] = None,
28
+ protocol: Optional[pulumi.Input[str]] = None,
28
29
  zone: Optional[pulumi.Input[str]] = None):
29
30
  """
30
31
  The set of arguments for constructing a Instance resource.
@@ -43,6 +44,9 @@ class InstanceArgs:
43
44
  resource.
44
45
  :param pulumi.Input[str] location: The name of the location of the instance. This can be a region for ENTERPRISE tier instances.
45
46
  :param pulumi.Input[str] name: The resource name of the instance.
47
+ :param pulumi.Input[str] protocol: Either NFSv3, for using NFS version 3 as file sharing protocol, or NFSv4.1, for using NFS version 4.1 as file sharing
48
+ protocol. NFSv4.1 can be used with HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE. The default is NFSv3. Default value:
49
+ "NFS_V3" Possible values: ["NFS_V3", "NFS_V4_1"]
46
50
  :param pulumi.Input[str] zone: The name of the Filestore zone of the instance.
47
51
  """
48
52
  pulumi.set(__self__, "file_shares", file_shares)
@@ -60,6 +64,8 @@ class InstanceArgs:
60
64
  pulumi.set(__self__, "name", name)
61
65
  if project is not None:
62
66
  pulumi.set(__self__, "project", project)
67
+ if protocol is not None:
68
+ pulumi.set(__self__, "protocol", protocol)
63
69
  if zone is not None:
64
70
  warnings.warn("""`zone` is deprecated and will be removed in a future major release. Use `location` instead.""", DeprecationWarning)
65
71
  pulumi.log.warn("""zone is deprecated: `zone` is deprecated and will be removed in a future major release. Use `location` instead.""")
@@ -178,6 +184,20 @@ class InstanceArgs:
178
184
  def project(self, value: Optional[pulumi.Input[str]]):
179
185
  pulumi.set(self, "project", value)
180
186
 
187
+ @property
188
+ @pulumi.getter
189
+ def protocol(self) -> Optional[pulumi.Input[str]]:
190
+ """
191
+ Either NFSv3, for using NFS version 3 as file sharing protocol, or NFSv4.1, for using NFS version 4.1 as file sharing
192
+ protocol. NFSv4.1 can be used with HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE. The default is NFSv3. Default value:
193
+ "NFS_V3" Possible values: ["NFS_V3", "NFS_V4_1"]
194
+ """
195
+ return pulumi.get(self, "protocol")
196
+
197
+ @protocol.setter
198
+ def protocol(self, value: Optional[pulumi.Input[str]]):
199
+ pulumi.set(self, "protocol", value)
200
+
181
201
  @property
182
202
  @pulumi.getter
183
203
  def zone(self) -> Optional[pulumi.Input[str]]:
@@ -208,6 +228,7 @@ class _InstanceState:
208
228
  name: Optional[pulumi.Input[str]] = None,
209
229
  networks: Optional[pulumi.Input[Sequence[pulumi.Input['InstanceNetworkArgs']]]] = None,
210
230
  project: Optional[pulumi.Input[str]] = None,
231
+ protocol: Optional[pulumi.Input[str]] = None,
211
232
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
212
233
  tier: Optional[pulumi.Input[str]] = None,
213
234
  zone: Optional[pulumi.Input[str]] = None):
@@ -230,6 +251,9 @@ class _InstanceState:
230
251
  :param pulumi.Input[Sequence[pulumi.Input['InstanceNetworkArgs']]] networks: VPC networks to which the instance is connected. For this version,
231
252
  only a single network is supported.
232
253
  Structure is documented below.
254
+ :param pulumi.Input[str] protocol: Either NFSv3, for using NFS version 3 as file sharing protocol, or NFSv4.1, for using NFS version 4.1 as file sharing
255
+ protocol. NFSv4.1 can be used with HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE. The default is NFSv3. Default value:
256
+ "NFS_V3" Possible values: ["NFS_V3", "NFS_V4_1"]
233
257
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
234
258
  and default labels configured on the provider.
235
259
  :param pulumi.Input[str] tier: The service tier of the instance.
@@ -258,6 +282,8 @@ class _InstanceState:
258
282
  pulumi.set(__self__, "networks", networks)
259
283
  if project is not None:
260
284
  pulumi.set(__self__, "project", project)
285
+ if protocol is not None:
286
+ pulumi.set(__self__, "protocol", protocol)
261
287
  if pulumi_labels is not None:
262
288
  pulumi.set(__self__, "pulumi_labels", pulumi_labels)
263
289
  if tier is not None:
@@ -404,6 +430,20 @@ class _InstanceState:
404
430
  def project(self, value: Optional[pulumi.Input[str]]):
405
431
  pulumi.set(self, "project", value)
406
432
 
433
+ @property
434
+ @pulumi.getter
435
+ def protocol(self) -> Optional[pulumi.Input[str]]:
436
+ """
437
+ Either NFSv3, for using NFS version 3 as file sharing protocol, or NFSv4.1, for using NFS version 4.1 as file sharing
438
+ protocol. NFSv4.1 can be used with HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE. The default is NFSv3. Default value:
439
+ "NFS_V3" Possible values: ["NFS_V3", "NFS_V4_1"]
440
+ """
441
+ return pulumi.get(self, "protocol")
442
+
443
+ @protocol.setter
444
+ def protocol(self, value: Optional[pulumi.Input[str]]):
445
+ pulumi.set(self, "protocol", value)
446
+
407
447
  @property
408
448
  @pulumi.getter(name="pulumiLabels")
409
449
  def pulumi_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -459,6 +499,7 @@ class Instance(pulumi.CustomResource):
459
499
  name: Optional[pulumi.Input[str]] = None,
460
500
  networks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceNetworkArgs']]]]] = None,
461
501
  project: Optional[pulumi.Input[str]] = None,
502
+ protocol: Optional[pulumi.Input[str]] = None,
462
503
  tier: Optional[pulumi.Input[str]] = None,
463
504
  zone: Optional[pulumi.Input[str]] = None,
464
505
  __props__=None):
@@ -528,6 +569,26 @@ class Instance(pulumi.CustomResource):
528
569
  connect_mode="DIRECT_PEERING",
529
570
  )])
530
571
  ```
572
+ ### Filestore Instance Protocol
573
+
574
+ ```python
575
+ import pulumi
576
+ import pulumi_gcp as gcp
577
+
578
+ instance = gcp.filestore.Instance("instance",
579
+ name="test-instance",
580
+ location="us-central1",
581
+ tier="ENTERPRISE",
582
+ protocol="NFS_V4_1",
583
+ file_shares=gcp.filestore.InstanceFileSharesArgs(
584
+ capacity_gb=1024,
585
+ name="share1",
586
+ ),
587
+ networks=[gcp.filestore.InstanceNetworkArgs(
588
+ network="default",
589
+ modes=["MODE_IPV4"],
590
+ )])
591
+ ```
531
592
  ### Filestore Instance Enterprise
532
593
 
533
594
  ```python
@@ -594,6 +655,9 @@ class Instance(pulumi.CustomResource):
594
655
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceNetworkArgs']]]] networks: VPC networks to which the instance is connected. For this version,
595
656
  only a single network is supported.
596
657
  Structure is documented below.
658
+ :param pulumi.Input[str] protocol: Either NFSv3, for using NFS version 3 as file sharing protocol, or NFSv4.1, for using NFS version 4.1 as file sharing
659
+ protocol. NFSv4.1 can be used with HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE. The default is NFSv3. Default value:
660
+ "NFS_V3" Possible values: ["NFS_V3", "NFS_V4_1"]
597
661
  :param pulumi.Input[str] tier: The service tier of the instance.
598
662
  Possible values include: STANDARD, PREMIUM, BASIC_HDD, BASIC_SSD, HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE
599
663
  :param pulumi.Input[str] zone: The name of the Filestore zone of the instance.
@@ -670,6 +734,26 @@ class Instance(pulumi.CustomResource):
670
734
  connect_mode="DIRECT_PEERING",
671
735
  )])
672
736
  ```
737
+ ### Filestore Instance Protocol
738
+
739
+ ```python
740
+ import pulumi
741
+ import pulumi_gcp as gcp
742
+
743
+ instance = gcp.filestore.Instance("instance",
744
+ name="test-instance",
745
+ location="us-central1",
746
+ tier="ENTERPRISE",
747
+ protocol="NFS_V4_1",
748
+ file_shares=gcp.filestore.InstanceFileSharesArgs(
749
+ capacity_gb=1024,
750
+ name="share1",
751
+ ),
752
+ networks=[gcp.filestore.InstanceNetworkArgs(
753
+ network="default",
754
+ modes=["MODE_IPV4"],
755
+ )])
756
+ ```
673
757
  ### Filestore Instance Enterprise
674
758
 
675
759
  ```python
@@ -744,6 +828,7 @@ class Instance(pulumi.CustomResource):
744
828
  name: Optional[pulumi.Input[str]] = None,
745
829
  networks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceNetworkArgs']]]]] = None,
746
830
  project: Optional[pulumi.Input[str]] = None,
831
+ protocol: Optional[pulumi.Input[str]] = None,
747
832
  tier: Optional[pulumi.Input[str]] = None,
748
833
  zone: Optional[pulumi.Input[str]] = None,
749
834
  __props__=None):
@@ -767,6 +852,7 @@ class Instance(pulumi.CustomResource):
767
852
  raise TypeError("Missing required property 'networks'")
768
853
  __props__.__dict__["networks"] = networks
769
854
  __props__.__dict__["project"] = project
855
+ __props__.__dict__["protocol"] = protocol
770
856
  if tier is None and not opts.urn:
771
857
  raise TypeError("Missing required property 'tier'")
772
858
  __props__.__dict__["tier"] = tier
@@ -798,6 +884,7 @@ class Instance(pulumi.CustomResource):
798
884
  name: Optional[pulumi.Input[str]] = None,
799
885
  networks: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceNetworkArgs']]]]] = None,
800
886
  project: Optional[pulumi.Input[str]] = None,
887
+ protocol: Optional[pulumi.Input[str]] = None,
801
888
  pulumi_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
802
889
  tier: Optional[pulumi.Input[str]] = None,
803
890
  zone: Optional[pulumi.Input[str]] = None) -> 'Instance':
@@ -825,6 +912,9 @@ class Instance(pulumi.CustomResource):
825
912
  :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['InstanceNetworkArgs']]]] networks: VPC networks to which the instance is connected. For this version,
826
913
  only a single network is supported.
827
914
  Structure is documented below.
915
+ :param pulumi.Input[str] protocol: Either NFSv3, for using NFS version 3 as file sharing protocol, or NFSv4.1, for using NFS version 4.1 as file sharing
916
+ protocol. NFSv4.1 can be used with HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE. The default is NFSv3. Default value:
917
+ "NFS_V3" Possible values: ["NFS_V3", "NFS_V4_1"]
828
918
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] pulumi_labels: The combination of labels configured directly on the resource
829
919
  and default labels configured on the provider.
830
920
  :param pulumi.Input[str] tier: The service tier of the instance.
@@ -846,6 +936,7 @@ class Instance(pulumi.CustomResource):
846
936
  __props__.__dict__["name"] = name
847
937
  __props__.__dict__["networks"] = networks
848
938
  __props__.__dict__["project"] = project
939
+ __props__.__dict__["protocol"] = protocol
849
940
  __props__.__dict__["pulumi_labels"] = pulumi_labels
850
941
  __props__.__dict__["tier"] = tier
851
942
  __props__.__dict__["zone"] = zone
@@ -943,6 +1034,16 @@ class Instance(pulumi.CustomResource):
943
1034
  def project(self) -> pulumi.Output[str]:
944
1035
  return pulumi.get(self, "project")
945
1036
 
1037
+ @property
1038
+ @pulumi.getter
1039
+ def protocol(self) -> pulumi.Output[Optional[str]]:
1040
+ """
1041
+ Either NFSv3, for using NFS version 3 as file sharing protocol, or NFSv4.1, for using NFS version 4.1 as file sharing
1042
+ protocol. NFSv4.1 can be used with HIGH_SCALE_SSD, ZONAL, REGIONAL and ENTERPRISE. The default is NFSv3. Default value:
1043
+ "NFS_V3" Possible values: ["NFS_V3", "NFS_V4_1"]
1044
+ """
1045
+ return pulumi.get(self, "protocol")
1046
+
946
1047
  @property
947
1048
  @pulumi.getter(name="pulumiLabels")
948
1049
  def pulumi_labels(self) -> pulumi.Output[Mapping[str, str]]:
@@ -1385,11 +1385,13 @@ class HostingVersionConfigRewriteArgs:
1385
1385
  def __init__(__self__, *,
1386
1386
  function: Optional[pulumi.Input[str]] = None,
1387
1387
  glob: Optional[pulumi.Input[str]] = None,
1388
+ path: Optional[pulumi.Input[str]] = None,
1388
1389
  regex: Optional[pulumi.Input[str]] = None,
1389
1390
  run: Optional[pulumi.Input['HostingVersionConfigRewriteRunArgs']] = None):
1390
1391
  """
1391
1392
  :param pulumi.Input[str] function: The function to proxy requests to. Must match the exported function name exactly.
1392
1393
  :param pulumi.Input[str] glob: The user-supplied glob to match against the request URL path.
1394
+ :param pulumi.Input[str] path: The URL path to rewrite the request to.
1393
1395
  :param pulumi.Input[str] regex: The user-supplied RE2 regular expression to match against the request URL path.
1394
1396
  :param pulumi.Input['HostingVersionConfigRewriteRunArgs'] run: The request will be forwarded to Cloud Run.
1395
1397
  Structure is documented below.
@@ -1398,6 +1400,8 @@ class HostingVersionConfigRewriteArgs:
1398
1400
  pulumi.set(__self__, "function", function)
1399
1401
  if glob is not None:
1400
1402
  pulumi.set(__self__, "glob", glob)
1403
+ if path is not None:
1404
+ pulumi.set(__self__, "path", path)
1401
1405
  if regex is not None:
1402
1406
  pulumi.set(__self__, "regex", regex)
1403
1407
  if run is not None:
@@ -1427,6 +1431,18 @@ class HostingVersionConfigRewriteArgs:
1427
1431
  def glob(self, value: Optional[pulumi.Input[str]]):
1428
1432
  pulumi.set(self, "glob", value)
1429
1433
 
1434
+ @property
1435
+ @pulumi.getter
1436
+ def path(self) -> Optional[pulumi.Input[str]]:
1437
+ """
1438
+ The URL path to rewrite the request to.
1439
+ """
1440
+ return pulumi.get(self, "path")
1441
+
1442
+ @path.setter
1443
+ def path(self, value: Optional[pulumi.Input[str]]):
1444
+ pulumi.set(self, "path", value)
1445
+
1430
1446
  @property
1431
1447
  @pulumi.getter
1432
1448
  def regex(self) -> Optional[pulumi.Input[str]]:
@@ -194,6 +194,11 @@ class AppCheckPlayIntegrityConfig(pulumi.CustomResource):
194
194
  import pulumi_gcp as gcp
195
195
  import pulumi_time as time
196
196
 
197
+ # Enables the Play Integrity API
198
+ play_integrity = gcp.projects.Service("play_integrity",
199
+ project="my-project-name",
200
+ service="playintegrity.googleapis.com",
201
+ disable_on_destroy=False)
197
202
  default = gcp.firebase.AndroidApp("default",
198
203
  project="my-project-name",
199
204
  display_name="Play Integrity app",
@@ -214,6 +219,11 @@ class AppCheckPlayIntegrityConfig(pulumi.CustomResource):
214
219
  import pulumi_gcp as gcp
215
220
  import pulumi_time as time
216
221
 
222
+ # Enables the Play Integrity API
223
+ play_integrity = gcp.projects.Service("play_integrity",
224
+ project="my-project-name",
225
+ service="playintegrity.googleapis.com",
226
+ disable_on_destroy=False)
217
227
  default = gcp.firebase.AndroidApp("default",
218
228
  project="my-project-name",
219
229
  display_name="Play Integrity app",
@@ -291,6 +301,11 @@ class AppCheckPlayIntegrityConfig(pulumi.CustomResource):
291
301
  import pulumi_gcp as gcp
292
302
  import pulumi_time as time
293
303
 
304
+ # Enables the Play Integrity API
305
+ play_integrity = gcp.projects.Service("play_integrity",
306
+ project="my-project-name",
307
+ service="playintegrity.googleapis.com",
308
+ disable_on_destroy=False)
294
309
  default = gcp.firebase.AndroidApp("default",
295
310
  project="my-project-name",
296
311
  display_name="Play Integrity app",
@@ -311,6 +326,11 @@ class AppCheckPlayIntegrityConfig(pulumi.CustomResource):
311
326
  import pulumi_gcp as gcp
312
327
  import pulumi_time as time
313
328
 
329
+ # Enables the Play Integrity API
330
+ play_integrity = gcp.projects.Service("play_integrity",
331
+ project="my-project-name",
332
+ service="playintegrity.googleapis.com",
333
+ disable_on_destroy=False)
314
334
  default = gcp.firebase.AndroidApp("default",
315
335
  project="my-project-name",
316
336
  display_name="Play Integrity app",
@@ -229,6 +229,11 @@ class AppCheckRecaptchaEnterpriseConfig(pulumi.CustomResource):
229
229
  import pulumi_gcp as gcp
230
230
  import pulumi_time as time
231
231
 
232
+ # Enables the reCAPTCHA Enterprise API
233
+ recaptcha_enterprise = gcp.projects.Service("recaptcha_enterprise",
234
+ project="my-project-name",
235
+ service="recaptchaenterprise.googleapis.com",
236
+ disable_on_destroy=False)
232
237
  default = gcp.firebase.WebApp("default",
233
238
  project="my-project-name",
234
239
  display_name="Web App for reCAPTCHA Enterprise")
@@ -305,6 +310,11 @@ class AppCheckRecaptchaEnterpriseConfig(pulumi.CustomResource):
305
310
  import pulumi_gcp as gcp
306
311
  import pulumi_time as time
307
312
 
313
+ # Enables the reCAPTCHA Enterprise API
314
+ recaptcha_enterprise = gcp.projects.Service("recaptcha_enterprise",
315
+ project="my-project-name",
316
+ service="recaptchaenterprise.googleapis.com",
317
+ disable_on_destroy=False)
308
318
  default = gcp.firebase.WebApp("default",
309
319
  project="my-project-name",
310
320
  display_name="Web App for reCAPTCHA Enterprise")
@@ -176,6 +176,28 @@ class HostingVersion(pulumi.CustomResource):
176
176
  version_name=default_hosting_version.name,
177
177
  message="Redirect to Google")
178
178
  ```
179
+ ### Firebasehosting Version Path
180
+
181
+ ```python
182
+ import pulumi
183
+ import pulumi_gcp as gcp
184
+
185
+ default = gcp.firebase.HostingSite("default",
186
+ project="my-project-name",
187
+ site_id="site-id")
188
+ default_hosting_version = gcp.firebase.HostingVersion("default",
189
+ site_id=default.site_id,
190
+ config=gcp.firebase.HostingVersionConfigArgs(
191
+ rewrites=[gcp.firebase.HostingVersionConfigRewriteArgs(
192
+ glob="**",
193
+ path="/index.html",
194
+ )],
195
+ ))
196
+ default_hosting_release = gcp.firebase.HostingRelease("default",
197
+ site_id=default.site_id,
198
+ version_name=default_hosting_version.name,
199
+ message="Path Rewrite")
200
+ ```
179
201
  ### Firebasehosting Version Cloud Run
180
202
 
181
203
  ```python
@@ -312,6 +334,28 @@ class HostingVersion(pulumi.CustomResource):
312
334
  version_name=default_hosting_version.name,
313
335
  message="Redirect to Google")
314
336
  ```
337
+ ### Firebasehosting Version Path
338
+
339
+ ```python
340
+ import pulumi
341
+ import pulumi_gcp as gcp
342
+
343
+ default = gcp.firebase.HostingSite("default",
344
+ project="my-project-name",
345
+ site_id="site-id")
346
+ default_hosting_version = gcp.firebase.HostingVersion("default",
347
+ site_id=default.site_id,
348
+ config=gcp.firebase.HostingVersionConfigArgs(
349
+ rewrites=[gcp.firebase.HostingVersionConfigRewriteArgs(
350
+ glob="**",
351
+ path="/index.html",
352
+ )],
353
+ ))
354
+ default_hosting_release = gcp.firebase.HostingRelease("default",
355
+ site_id=default.site_id,
356
+ version_name=default_hosting_version.name,
357
+ message="Path Rewrite")
358
+ ```
315
359
  ### Firebasehosting Version Cloud Run
316
360
 
317
361
  ```python
@@ -1418,11 +1418,13 @@ class HostingVersionConfigRewrite(dict):
1418
1418
  def __init__(__self__, *,
1419
1419
  function: Optional[str] = None,
1420
1420
  glob: Optional[str] = None,
1421
+ path: Optional[str] = None,
1421
1422
  regex: Optional[str] = None,
1422
1423
  run: Optional['outputs.HostingVersionConfigRewriteRun'] = None):
1423
1424
  """
1424
1425
  :param str function: The function to proxy requests to. Must match the exported function name exactly.
1425
1426
  :param str glob: The user-supplied glob to match against the request URL path.
1427
+ :param str path: The URL path to rewrite the request to.
1426
1428
  :param str regex: The user-supplied RE2 regular expression to match against the request URL path.
1427
1429
  :param 'HostingVersionConfigRewriteRunArgs' run: The request will be forwarded to Cloud Run.
1428
1430
  Structure is documented below.
@@ -1431,6 +1433,8 @@ class HostingVersionConfigRewrite(dict):
1431
1433
  pulumi.set(__self__, "function", function)
1432
1434
  if glob is not None:
1433
1435
  pulumi.set(__self__, "glob", glob)
1436
+ if path is not None:
1437
+ pulumi.set(__self__, "path", path)
1434
1438
  if regex is not None:
1435
1439
  pulumi.set(__self__, "regex", regex)
1436
1440
  if run is not None:
@@ -1452,6 +1456,14 @@ class HostingVersionConfigRewrite(dict):
1452
1456
  """
1453
1457
  return pulumi.get(self, "glob")
1454
1458
 
1459
+ @property
1460
+ @pulumi.getter
1461
+ def path(self) -> Optional[str]:
1462
+ """
1463
+ The URL path to rewrite the request to.
1464
+ """
1465
+ return pulumi.get(self, "path")
1466
+
1455
1467
  @property
1456
1468
  @pulumi.getter
1457
1469
  def regex(self) -> Optional[str]: