pulumi-gcp 7.16.0a1711520590__py3-none-any.whl → 7.16.0a1711535676__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 (38) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/accesscontextmanager/__init__.py +1 -0
  3. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +345 -0
  4. pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +80 -0
  5. pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +86 -0
  6. pulumi_gcp/accesscontextmanager/service_perimeter_resource.py +4 -2
  7. pulumi_gcp/cloudquota/__init__.py +1 -0
  8. pulumi_gcp/cloudquota/get_s_quota_infos.py +136 -0
  9. pulumi_gcp/cloudquota/outputs.py +270 -0
  10. pulumi_gcp/cloudrunv2/_inputs.py +59 -2
  11. pulumi_gcp/cloudrunv2/outputs.py +107 -4
  12. pulumi_gcp/cloudrunv2/service.py +6 -6
  13. pulumi_gcp/composer/_inputs.py +16 -0
  14. pulumi_gcp/composer/outputs.py +23 -0
  15. pulumi_gcp/compute/_inputs.py +105 -7
  16. pulumi_gcp/compute/outputs.py +140 -9
  17. pulumi_gcp/compute/region_url_map.py +152 -0
  18. pulumi_gcp/dataform/repository.py +4 -74
  19. pulumi_gcp/firebase/android_app.py +41 -40
  20. pulumi_gcp/firestore/index.py +34 -48
  21. pulumi_gcp/monitoring/_inputs.py +2 -0
  22. pulumi_gcp/monitoring/outputs.py +2 -0
  23. pulumi_gcp/networksecurity/firewall_endpoint.py +48 -0
  24. pulumi_gcp/pubsub/_inputs.py +108 -0
  25. pulumi_gcp/pubsub/get_topic.py +11 -1
  26. pulumi_gcp/pubsub/outputs.py +213 -0
  27. pulumi_gcp/pubsub/topic.py +92 -0
  28. pulumi_gcp/storage/_inputs.py +40 -0
  29. pulumi_gcp/storage/bucket.py +54 -0
  30. pulumi_gcp/storage/get_bucket.py +11 -1
  31. pulumi_gcp/storage/outputs.py +81 -0
  32. pulumi_gcp/workstations/_inputs.py +113 -0
  33. pulumi_gcp/workstations/outputs.py +109 -1
  34. pulumi_gcp/workstations/workstation_config.py +106 -0
  35. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.16.0a1711535676.dist-info}/METADATA +1 -1
  36. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.16.0a1711535676.dist-info}/RECORD +38 -36
  37. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.16.0a1711535676.dist-info}/WHEEL +0 -0
  38. {pulumi_gcp-7.16.0a1711520590.dist-info → pulumi_gcp-7.16.0a1711535676.dist-info}/top_level.txt +0 -0
@@ -3717,7 +3717,7 @@ class DiskGuestOsFeature(dict):
3717
3717
  type: str):
3718
3718
  """
3719
3719
  :param str type: The type of supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options.
3720
- Possible values are: `MULTI_IP_SUBNET`, `SECURE_BOOT`, `SEV_CAPABLE`, `UEFI_COMPATIBLE`, `VIRTIO_SCSI_MULTIQUEUE`, `WINDOWS`, `GVNIC`, `SEV_LIVE_MIGRATABLE`, `SEV_SNP_CAPABLE`, `SUSPEND_RESUME_COMPATIBLE`, `TDX_CAPABLE`.
3720
+ Possible values are: `MULTI_IP_SUBNET`, `SECURE_BOOT`, `SEV_CAPABLE`, `UEFI_COMPATIBLE`, `VIRTIO_SCSI_MULTIQUEUE`, `WINDOWS`, `GVNIC`, `SEV_LIVE_MIGRATABLE`, `SEV_SNP_CAPABLE`, `SUSPEND_RESUME_COMPATIBLE`, `TDX_CAPABLE`, `SEV_LIVE_MIGRATABLE_V2`.
3721
3721
  """
3722
3722
  pulumi.set(__self__, "type", type)
3723
3723
 
@@ -3726,7 +3726,7 @@ class DiskGuestOsFeature(dict):
3726
3726
  def type(self) -> str:
3727
3727
  """
3728
3728
  The type of supported feature. Read [Enabling guest operating system features](https://cloud.google.com/compute/docs/images/create-delete-deprecate-private-images#guest-os-features) to see a list of available options.
3729
- Possible values are: `MULTI_IP_SUBNET`, `SECURE_BOOT`, `SEV_CAPABLE`, `UEFI_COMPATIBLE`, `VIRTIO_SCSI_MULTIQUEUE`, `WINDOWS`, `GVNIC`, `SEV_LIVE_MIGRATABLE`, `SEV_SNP_CAPABLE`, `SUSPEND_RESUME_COMPATIBLE`, `TDX_CAPABLE`.
3729
+ Possible values are: `MULTI_IP_SUBNET`, `SECURE_BOOT`, `SEV_CAPABLE`, `UEFI_COMPATIBLE`, `VIRTIO_SCSI_MULTIQUEUE`, `WINDOWS`, `GVNIC`, `SEV_LIVE_MIGRATABLE`, `SEV_SNP_CAPABLE`, `SUSPEND_RESUME_COMPATIBLE`, `TDX_CAPABLE`, `SEV_LIVE_MIGRATABLE_V2`.
3730
3730
  """
3731
3731
  return pulumi.get(self, "type")
3732
3732
 
@@ -9691,14 +9691,43 @@ class InstanceGroupManagerStatus(dict):
9691
9691
 
9692
9692
  @pulumi.output_type
9693
9693
  class InstanceGroupManagerStatusAllInstancesConfig(dict):
9694
+ @staticmethod
9695
+ def __key_warning(key: str):
9696
+ suggest = None
9697
+ if key == "currentRevision":
9698
+ suggest = "current_revision"
9699
+
9700
+ if suggest:
9701
+ pulumi.log.warn(f"Key '{key}' not found in InstanceGroupManagerStatusAllInstancesConfig. Access the value via the '{suggest}' property getter instead.")
9702
+
9703
+ def __getitem__(self, key: str) -> Any:
9704
+ InstanceGroupManagerStatusAllInstancesConfig.__key_warning(key)
9705
+ return super().__getitem__(key)
9706
+
9707
+ def get(self, key: str, default = None) -> Any:
9708
+ InstanceGroupManagerStatusAllInstancesConfig.__key_warning(key)
9709
+ return super().get(key, default)
9710
+
9694
9711
  def __init__(__self__, *,
9712
+ current_revision: Optional[str] = None,
9695
9713
  effective: Optional[bool] = None):
9696
9714
  """
9715
+ :param str current_revision: Current all-instances configuration revision. This value is in RFC3339 text format.
9697
9716
  :param bool effective: A bit indicating whether this configuration has been applied to all managed instances in the group.
9698
9717
  """
9718
+ if current_revision is not None:
9719
+ pulumi.set(__self__, "current_revision", current_revision)
9699
9720
  if effective is not None:
9700
9721
  pulumi.set(__self__, "effective", effective)
9701
9722
 
9723
+ @property
9724
+ @pulumi.getter(name="currentRevision")
9725
+ def current_revision(self) -> Optional[str]:
9726
+ """
9727
+ Current all-instances configuration revision. This value is in RFC3339 text format.
9728
+ """
9729
+ return pulumi.get(self, "current_revision")
9730
+
9702
9731
  @property
9703
9732
  @pulumi.getter
9704
9733
  def effective(self) -> Optional[bool]:
@@ -9734,7 +9763,7 @@ class InstanceGroupManagerStatusStateful(dict):
9734
9763
  per_instance_configs: Optional[Sequence['outputs.InstanceGroupManagerStatusStatefulPerInstanceConfig']] = None):
9735
9764
  """
9736
9765
  :param bool has_stateful_config: A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
9737
- :param Sequence['InstanceGroupManagerStatusStatefulPerInstanceConfigArgs'] per_instance_configs: Status of per-instance configs on the instance.
9766
+ :param Sequence['InstanceGroupManagerStatusStatefulPerInstanceConfigArgs'] per_instance_configs: Status of per-instance configs on the instances.
9738
9767
  """
9739
9768
  if has_stateful_config is not None:
9740
9769
  pulumi.set(__self__, "has_stateful_config", has_stateful_config)
@@ -9753,7 +9782,7 @@ class InstanceGroupManagerStatusStateful(dict):
9753
9782
  @pulumi.getter(name="perInstanceConfigs")
9754
9783
  def per_instance_configs(self) -> Optional[Sequence['outputs.InstanceGroupManagerStatusStatefulPerInstanceConfig']]:
9755
9784
  """
9756
- Status of per-instance configs on the instance.
9785
+ Status of per-instance configs on the instances.
9757
9786
  """
9758
9787
  return pulumi.get(self, "per_instance_configs")
9759
9788
 
@@ -18870,14 +18899,43 @@ class RegionInstanceGroupManagerStatus(dict):
18870
18899
 
18871
18900
  @pulumi.output_type
18872
18901
  class RegionInstanceGroupManagerStatusAllInstancesConfig(dict):
18902
+ @staticmethod
18903
+ def __key_warning(key: str):
18904
+ suggest = None
18905
+ if key == "currentRevision":
18906
+ suggest = "current_revision"
18907
+
18908
+ if suggest:
18909
+ pulumi.log.warn(f"Key '{key}' not found in RegionInstanceGroupManagerStatusAllInstancesConfig. Access the value via the '{suggest}' property getter instead.")
18910
+
18911
+ def __getitem__(self, key: str) -> Any:
18912
+ RegionInstanceGroupManagerStatusAllInstancesConfig.__key_warning(key)
18913
+ return super().__getitem__(key)
18914
+
18915
+ def get(self, key: str, default = None) -> Any:
18916
+ RegionInstanceGroupManagerStatusAllInstancesConfig.__key_warning(key)
18917
+ return super().get(key, default)
18918
+
18873
18919
  def __init__(__self__, *,
18920
+ current_revision: Optional[str] = None,
18874
18921
  effective: Optional[bool] = None):
18875
18922
  """
18923
+ :param str current_revision: Current all-instances configuration revision. This value is in RFC3339 text format.
18876
18924
  :param bool effective: A bit indicating whether this configuration has been applied to all managed instances in the group.
18877
18925
  """
18926
+ if current_revision is not None:
18927
+ pulumi.set(__self__, "current_revision", current_revision)
18878
18928
  if effective is not None:
18879
18929
  pulumi.set(__self__, "effective", effective)
18880
18930
 
18931
+ @property
18932
+ @pulumi.getter(name="currentRevision")
18933
+ def current_revision(self) -> Optional[str]:
18934
+ """
18935
+ Current all-instances configuration revision. This value is in RFC3339 text format.
18936
+ """
18937
+ return pulumi.get(self, "current_revision")
18938
+
18881
18939
  @property
18882
18940
  @pulumi.getter
18883
18941
  def effective(self) -> Optional[bool]:
@@ -18913,7 +18971,7 @@ class RegionInstanceGroupManagerStatusStateful(dict):
18913
18971
  per_instance_configs: Optional[Sequence['outputs.RegionInstanceGroupManagerStatusStatefulPerInstanceConfig']] = None):
18914
18972
  """
18915
18973
  :param bool has_stateful_config: A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
18916
- :param Sequence['RegionInstanceGroupManagerStatusStatefulPerInstanceConfigArgs'] per_instance_configs: Status of per-instance configs on the instance.
18974
+ :param Sequence['RegionInstanceGroupManagerStatusStatefulPerInstanceConfigArgs'] per_instance_configs: Status of per-instance configs on the instances.
18917
18975
  """
18918
18976
  if has_stateful_config is not None:
18919
18977
  pulumi.set(__self__, "has_stateful_config", has_stateful_config)
@@ -18932,7 +18990,7 @@ class RegionInstanceGroupManagerStatusStateful(dict):
18932
18990
  @pulumi.getter(name="perInstanceConfigs")
18933
18991
  def per_instance_configs(self) -> Optional[Sequence['outputs.RegionInstanceGroupManagerStatusStatefulPerInstanceConfig']]:
18934
18992
  """
18935
- Status of per-instance configs on the instance.
18993
+ Status of per-instance configs on the instances.
18936
18994
  """
18937
18995
  return pulumi.get(self, "per_instance_configs")
18938
18996
 
@@ -25413,6 +25471,8 @@ class RegionUrlMapPathMatcherRouteRuleMatchRule(dict):
25413
25471
  suggest = "ignore_case"
25414
25472
  elif key == "metadataFilters":
25415
25473
  suggest = "metadata_filters"
25474
+ elif key == "pathTemplateMatch":
25475
+ suggest = "path_template_match"
25416
25476
  elif key == "prefixMatch":
25417
25477
  suggest = "prefix_match"
25418
25478
  elif key == "queryParameterMatches":
@@ -25436,6 +25496,7 @@ class RegionUrlMapPathMatcherRouteRuleMatchRule(dict):
25436
25496
  header_matches: Optional[Sequence['outputs.RegionUrlMapPathMatcherRouteRuleMatchRuleHeaderMatch']] = None,
25437
25497
  ignore_case: Optional[bool] = None,
25438
25498
  metadata_filters: Optional[Sequence['outputs.RegionUrlMapPathMatcherRouteRuleMatchRuleMetadataFilter']] = None,
25499
+ path_template_match: Optional[str] = None,
25439
25500
  prefix_match: Optional[str] = None,
25440
25501
  query_parameter_matches: Optional[Sequence['outputs.RegionUrlMapPathMatcherRouteRuleMatchRuleQueryParameterMatch']] = None,
25441
25502
  regex_match: Optional[str] = None):
@@ -25462,6 +25523,14 @@ class RegionUrlMapPathMatcherRouteRuleMatchRule(dict):
25462
25523
  UrlMap. metadataFilters only applies to Loadbalancers that have their
25463
25524
  loadBalancingScheme set to INTERNAL_SELF_MANAGED.
25464
25525
  Structure is documented below.
25526
+ :param str path_template_match: For satisfying the matchRule condition, the path of the request
25527
+ must match the wildcard pattern specified in pathTemplateMatch
25528
+ after removing any query parameters and anchor that may be part
25529
+ of the original URL.
25530
+ pathTemplateMatch must be between 1 and 255 characters
25531
+ (inclusive). The pattern specified by pathTemplateMatch may
25532
+ have at most 5 wildcard operators and at most 5 variable
25533
+ captures in total.
25465
25534
  :param str prefix_match: For satisfying the matchRule condition, the request's path must begin with the
25466
25535
  specified prefixMatch. prefixMatch must begin with a /. The value must be
25467
25536
  between 1 and 1024 characters. Only one of prefixMatch, fullPathMatch or
@@ -25483,6 +25552,8 @@ class RegionUrlMapPathMatcherRouteRuleMatchRule(dict):
25483
25552
  pulumi.set(__self__, "ignore_case", ignore_case)
25484
25553
  if metadata_filters is not None:
25485
25554
  pulumi.set(__self__, "metadata_filters", metadata_filters)
25555
+ if path_template_match is not None:
25556
+ pulumi.set(__self__, "path_template_match", path_template_match)
25486
25557
  if prefix_match is not None:
25487
25558
  pulumi.set(__self__, "prefix_match", prefix_match)
25488
25559
  if query_parameter_matches is not None:
@@ -25540,6 +25611,21 @@ class RegionUrlMapPathMatcherRouteRuleMatchRule(dict):
25540
25611
  """
25541
25612
  return pulumi.get(self, "metadata_filters")
25542
25613
 
25614
+ @property
25615
+ @pulumi.getter(name="pathTemplateMatch")
25616
+ def path_template_match(self) -> Optional[str]:
25617
+ """
25618
+ For satisfying the matchRule condition, the path of the request
25619
+ must match the wildcard pattern specified in pathTemplateMatch
25620
+ after removing any query parameters and anchor that may be part
25621
+ of the original URL.
25622
+ pathTemplateMatch must be between 1 and 255 characters
25623
+ (inclusive). The pattern specified by pathTemplateMatch may
25624
+ have at most 5 wildcard operators and at most 5 variable
25625
+ captures in total.
25626
+ """
25627
+ return pulumi.get(self, "path_template_match")
25628
+
25543
25629
  @property
25544
25630
  @pulumi.getter(name="prefixMatch")
25545
25631
  def prefix_match(self) -> Optional[str]:
@@ -26689,6 +26775,8 @@ class RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewrite(dict):
26689
26775
  suggest = "host_rewrite"
26690
26776
  elif key == "pathPrefixRewrite":
26691
26777
  suggest = "path_prefix_rewrite"
26778
+ elif key == "pathTemplateRewrite":
26779
+ suggest = "path_template_rewrite"
26692
26780
 
26693
26781
  if suggest:
26694
26782
  pulumi.log.warn(f"Key '{key}' not found in RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewrite. Access the value via the '{suggest}' property getter instead.")
@@ -26703,17 +26791,31 @@ class RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewrite(dict):
26703
26791
 
26704
26792
  def __init__(__self__, *,
26705
26793
  host_rewrite: Optional[str] = None,
26706
- path_prefix_rewrite: Optional[str] = None):
26794
+ path_prefix_rewrite: Optional[str] = None,
26795
+ path_template_rewrite: Optional[str] = None):
26707
26796
  """
26708
26797
  :param str host_rewrite: Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.
26709
26798
  The value must be from 1 to 255 characters.
26710
26799
  :param str path_prefix_rewrite: Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.
26711
26800
  The value must be from 1 to 1024 characters.
26801
+ :param str path_template_rewrite: Prior to forwarding the request to the selected origin, if the
26802
+ request matched a pathTemplateMatch, the matching portion of the
26803
+ request's path is replaced re-written using the pattern specified
26804
+ by pathTemplateRewrite.
26805
+ pathTemplateRewrite must be between 1 and 255 characters
26806
+ (inclusive), must start with a '/', and must only use variables
26807
+ captured by the route's pathTemplate matchers.
26808
+ pathTemplateRewrite may only be used when all of a route's
26809
+ MatchRules specify pathTemplate.
26810
+ Only one of pathPrefixRewrite and pathTemplateRewrite may be
26811
+ specified.
26712
26812
  """
26713
26813
  if host_rewrite is not None:
26714
26814
  pulumi.set(__self__, "host_rewrite", host_rewrite)
26715
26815
  if path_prefix_rewrite is not None:
26716
26816
  pulumi.set(__self__, "path_prefix_rewrite", path_prefix_rewrite)
26817
+ if path_template_rewrite is not None:
26818
+ pulumi.set(__self__, "path_template_rewrite", path_template_rewrite)
26717
26819
 
26718
26820
  @property
26719
26821
  @pulumi.getter(name="hostRewrite")
@@ -26733,6 +26835,24 @@ class RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewrite(dict):
26733
26835
  """
26734
26836
  return pulumi.get(self, "path_prefix_rewrite")
26735
26837
 
26838
+ @property
26839
+ @pulumi.getter(name="pathTemplateRewrite")
26840
+ def path_template_rewrite(self) -> Optional[str]:
26841
+ """
26842
+ Prior to forwarding the request to the selected origin, if the
26843
+ request matched a pathTemplateMatch, the matching portion of the
26844
+ request's path is replaced re-written using the pattern specified
26845
+ by pathTemplateRewrite.
26846
+ pathTemplateRewrite must be between 1 and 255 characters
26847
+ (inclusive), must start with a '/', and must only use variables
26848
+ captured by the route's pathTemplate matchers.
26849
+ pathTemplateRewrite may only be used when all of a route's
26850
+ MatchRules specify pathTemplate.
26851
+ Only one of pathPrefixRewrite and pathTemplateRewrite may be
26852
+ specified.
26853
+ """
26854
+ return pulumi.get(self, "path_template_rewrite")
26855
+
26736
26856
 
26737
26857
  @pulumi.output_type
26738
26858
  class RegionUrlMapPathMatcherRouteRuleRouteActionWeightedBackendService(dict):
@@ -42214,12 +42334,23 @@ class GetInstanceGroupManagerStatusResult(dict):
42214
42334
  @pulumi.output_type
42215
42335
  class GetInstanceGroupManagerStatusAllInstancesConfigResult(dict):
42216
42336
  def __init__(__self__, *,
42337
+ current_revision: str,
42217
42338
  effective: bool):
42218
42339
  """
42340
+ :param str current_revision: Current all-instances configuration revision. This value is in RFC3339 text format.
42219
42341
  :param bool effective: A bit indicating whether this configuration has been applied to all managed instances in the group.
42220
42342
  """
42343
+ pulumi.set(__self__, "current_revision", current_revision)
42221
42344
  pulumi.set(__self__, "effective", effective)
42222
42345
 
42346
+ @property
42347
+ @pulumi.getter(name="currentRevision")
42348
+ def current_revision(self) -> str:
42349
+ """
42350
+ Current all-instances configuration revision. This value is in RFC3339 text format.
42351
+ """
42352
+ return pulumi.get(self, "current_revision")
42353
+
42223
42354
  @property
42224
42355
  @pulumi.getter
42225
42356
  def effective(self) -> bool:
@@ -42236,7 +42367,7 @@ class GetInstanceGroupManagerStatusStatefulResult(dict):
42236
42367
  per_instance_configs: Sequence['outputs.GetInstanceGroupManagerStatusStatefulPerInstanceConfigResult']):
42237
42368
  """
42238
42369
  :param bool has_stateful_config: A bit indicating whether the managed instance group has stateful configuration, that is, if you have configured any items in a stateful policy or in per-instance configs. The group might report that it has no stateful config even when there is still some preserved state on a managed instance, for example, if you have deleted all PICs but not yet applied those deletions.
42239
- :param Sequence['GetInstanceGroupManagerStatusStatefulPerInstanceConfigArgs'] per_instance_configs: Status of per-instance configs on the instance.
42370
+ :param Sequence['GetInstanceGroupManagerStatusStatefulPerInstanceConfigArgs'] per_instance_configs: Status of per-instance configs on the instances.
42240
42371
  """
42241
42372
  pulumi.set(__self__, "has_stateful_config", has_stateful_config)
42242
42373
  pulumi.set(__self__, "per_instance_configs", per_instance_configs)
@@ -42253,7 +42384,7 @@ class GetInstanceGroupManagerStatusStatefulResult(dict):
42253
42384
  @pulumi.getter(name="perInstanceConfigs")
42254
42385
  def per_instance_configs(self) -> Sequence['outputs.GetInstanceGroupManagerStatusStatefulPerInstanceConfigResult']:
42255
42386
  """
42256
- Status of per-instance configs on the instance.
42387
+ Status of per-instance configs on the instances.
42257
42388
  """
42258
42389
  return pulumi.get(self, "per_instance_configs")
42259
42390
 
@@ -1321,6 +1321,82 @@ class RegionUrlMap(pulumi.CustomResource):
1321
1321
  network_tier="PREMIUM")
1322
1322
  ```
1323
1323
  <!--End PulumiCodeChooser -->
1324
+ ### Region Url Map Path Template Match
1325
+
1326
+ <!--Start PulumiCodeChooser -->
1327
+ ```python
1328
+ import pulumi
1329
+ import pulumi_gcp as gcp
1330
+
1331
+ default = gcp.compute.RegionHealthCheck("default",
1332
+ region="us-central1",
1333
+ name="health-check",
1334
+ check_interval_sec=1,
1335
+ timeout_sec=1,
1336
+ http_health_check=gcp.compute.RegionHealthCheckHttpHealthCheckArgs(
1337
+ port=80,
1338
+ request_path="/",
1339
+ ))
1340
+ home_backend = gcp.compute.RegionBackendService("home-backend",
1341
+ region="us-central1",
1342
+ name="home-service",
1343
+ port_name="http",
1344
+ protocol="HTTP",
1345
+ timeout_sec=10,
1346
+ load_balancing_scheme="EXTERNAL_MANAGED",
1347
+ health_checks=default.id)
1348
+ cart_backend = gcp.compute.RegionBackendService("cart-backend",
1349
+ region="us-central1",
1350
+ name="cart-service",
1351
+ port_name="http",
1352
+ protocol="HTTP",
1353
+ timeout_sec=10,
1354
+ load_balancing_scheme="EXTERNAL_MANAGED",
1355
+ health_checks=default.id)
1356
+ user_backend = gcp.compute.RegionBackendService("user-backend",
1357
+ region="us-central1",
1358
+ name="user-service",
1359
+ port_name="http",
1360
+ protocol="HTTP",
1361
+ timeout_sec=10,
1362
+ load_balancing_scheme="EXTERNAL_MANAGED",
1363
+ health_checks=default.id)
1364
+ urlmap = gcp.compute.RegionUrlMap("urlmap",
1365
+ region="us-central1",
1366
+ name="urlmap",
1367
+ description="a description",
1368
+ default_service=home_backend.id,
1369
+ host_rules=[gcp.compute.RegionUrlMapHostRuleArgs(
1370
+ hosts=["mysite.com"],
1371
+ path_matcher="mysite",
1372
+ )],
1373
+ path_matchers=[gcp.compute.RegionUrlMapPathMatcherArgs(
1374
+ name="mysite",
1375
+ default_service=home_backend.id,
1376
+ route_rules=[
1377
+ gcp.compute.RegionUrlMapPathMatcherRouteRuleArgs(
1378
+ match_rules=[gcp.compute.RegionUrlMapPathMatcherRouteRuleMatchRuleArgs(
1379
+ path_template_match="/xyzwebservices/v2/xyz/users/{username=*}/carts/{cartid=**}",
1380
+ )],
1381
+ service=cart_backend.id,
1382
+ priority=1,
1383
+ route_action=gcp.compute.RegionUrlMapPathMatcherRouteRuleRouteActionArgs(
1384
+ url_rewrite=gcp.compute.RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewriteArgs(
1385
+ path_template_rewrite="/{username}-{cartid}/",
1386
+ ),
1387
+ ),
1388
+ ),
1389
+ gcp.compute.RegionUrlMapPathMatcherRouteRuleArgs(
1390
+ match_rules=[gcp.compute.RegionUrlMapPathMatcherRouteRuleMatchRuleArgs(
1391
+ path_template_match="/xyzwebservices/v2/xyz/users/*/accountinfo/*",
1392
+ )],
1393
+ service=user_backend.id,
1394
+ priority=2,
1395
+ ),
1396
+ ],
1397
+ )])
1398
+ ```
1399
+ <!--End PulumiCodeChooser -->
1324
1400
 
1325
1401
  ## Import
1326
1402
 
@@ -2174,6 +2250,82 @@ class RegionUrlMap(pulumi.CustomResource):
2174
2250
  network_tier="PREMIUM")
2175
2251
  ```
2176
2252
  <!--End PulumiCodeChooser -->
2253
+ ### Region Url Map Path Template Match
2254
+
2255
+ <!--Start PulumiCodeChooser -->
2256
+ ```python
2257
+ import pulumi
2258
+ import pulumi_gcp as gcp
2259
+
2260
+ default = gcp.compute.RegionHealthCheck("default",
2261
+ region="us-central1",
2262
+ name="health-check",
2263
+ check_interval_sec=1,
2264
+ timeout_sec=1,
2265
+ http_health_check=gcp.compute.RegionHealthCheckHttpHealthCheckArgs(
2266
+ port=80,
2267
+ request_path="/",
2268
+ ))
2269
+ home_backend = gcp.compute.RegionBackendService("home-backend",
2270
+ region="us-central1",
2271
+ name="home-service",
2272
+ port_name="http",
2273
+ protocol="HTTP",
2274
+ timeout_sec=10,
2275
+ load_balancing_scheme="EXTERNAL_MANAGED",
2276
+ health_checks=default.id)
2277
+ cart_backend = gcp.compute.RegionBackendService("cart-backend",
2278
+ region="us-central1",
2279
+ name="cart-service",
2280
+ port_name="http",
2281
+ protocol="HTTP",
2282
+ timeout_sec=10,
2283
+ load_balancing_scheme="EXTERNAL_MANAGED",
2284
+ health_checks=default.id)
2285
+ user_backend = gcp.compute.RegionBackendService("user-backend",
2286
+ region="us-central1",
2287
+ name="user-service",
2288
+ port_name="http",
2289
+ protocol="HTTP",
2290
+ timeout_sec=10,
2291
+ load_balancing_scheme="EXTERNAL_MANAGED",
2292
+ health_checks=default.id)
2293
+ urlmap = gcp.compute.RegionUrlMap("urlmap",
2294
+ region="us-central1",
2295
+ name="urlmap",
2296
+ description="a description",
2297
+ default_service=home_backend.id,
2298
+ host_rules=[gcp.compute.RegionUrlMapHostRuleArgs(
2299
+ hosts=["mysite.com"],
2300
+ path_matcher="mysite",
2301
+ )],
2302
+ path_matchers=[gcp.compute.RegionUrlMapPathMatcherArgs(
2303
+ name="mysite",
2304
+ default_service=home_backend.id,
2305
+ route_rules=[
2306
+ gcp.compute.RegionUrlMapPathMatcherRouteRuleArgs(
2307
+ match_rules=[gcp.compute.RegionUrlMapPathMatcherRouteRuleMatchRuleArgs(
2308
+ path_template_match="/xyzwebservices/v2/xyz/users/{username=*}/carts/{cartid=**}",
2309
+ )],
2310
+ service=cart_backend.id,
2311
+ priority=1,
2312
+ route_action=gcp.compute.RegionUrlMapPathMatcherRouteRuleRouteActionArgs(
2313
+ url_rewrite=gcp.compute.RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewriteArgs(
2314
+ path_template_rewrite="/{username}-{cartid}/",
2315
+ ),
2316
+ ),
2317
+ ),
2318
+ gcp.compute.RegionUrlMapPathMatcherRouteRuleArgs(
2319
+ match_rules=[gcp.compute.RegionUrlMapPathMatcherRouteRuleMatchRuleArgs(
2320
+ path_template_match="/xyzwebservices/v2/xyz/users/*/accountinfo/*",
2321
+ )],
2322
+ service=user_backend.id,
2323
+ priority=2,
2324
+ ),
2325
+ ],
2326
+ )])
2327
+ ```
2328
+ <!--End PulumiCodeChooser -->
2177
2329
 
2178
2330
  ## Import
2179
2331
 
@@ -416,7 +416,6 @@ class Repository(pulumi.CustomResource):
416
416
  import pulumi
417
417
  import pulumi_gcp as gcp
418
418
 
419
- git_repository = gcp.sourcerepo.Repository("git_repository", name="my/repository")
420
419
  secret = gcp.secretmanager.Secret("secret",
421
420
  secret_id="my-secret",
422
421
  replication=gcp.secretmanager.SecretReplicationArgs(
@@ -425,7 +424,7 @@ class Repository(pulumi.CustomResource):
425
424
  secret_version = gcp.secretmanager.SecretVersion("secret_version",
426
425
  secret=secret.id,
427
426
  secret_data="secret-data")
428
- dataform_respository = gcp.dataform.Repository("dataform_respository",
427
+ dataform_repository = gcp.dataform.Repository("dataform_repository",
429
428
  name="dataform_repository",
430
429
  display_name="dataform_repository",
431
430
  npmrc_environment_variables_secret_version=secret_version.id,
@@ -433,7 +432,7 @@ class Repository(pulumi.CustomResource):
433
432
  "label_foo1": "label-bar1",
434
433
  },
435
434
  git_remote_settings=gcp.dataform.RepositoryGitRemoteSettingsArgs(
436
- url=git_repository.url,
435
+ url="https://github.com/OWNER/REPOSITORY.git",
437
436
  default_branch="main",
438
437
  authentication_token_secret_version=secret_version.id,
439
438
  ),
@@ -444,40 +443,6 @@ class Repository(pulumi.CustomResource):
444
443
  ))
445
444
  ```
446
445
  <!--End PulumiCodeChooser -->
447
- ### Dataform Repository Ssh
448
-
449
- <!--Start PulumiCodeChooser -->
450
- ```python
451
- import pulumi
452
- import pulumi_gcp as gcp
453
-
454
- git_repository = gcp.sourcerepo.Repository("git_repository", name="my/repository")
455
- secret = gcp.secretmanager.Secret("secret",
456
- secret_id="my-secret",
457
- replication=gcp.secretmanager.SecretReplicationArgs(
458
- auto=gcp.secretmanager.SecretReplicationAutoArgs(),
459
- ))
460
- secret_version = gcp.secretmanager.SecretVersion("secret_version",
461
- secret=secret.id,
462
- secret_data="secret-data")
463
- dataform_respository = gcp.dataform.Repository("dataform_respository",
464
- name="dataform_repository",
465
- git_remote_settings=gcp.dataform.RepositoryGitRemoteSettingsArgs(
466
- url=git_repository.url,
467
- default_branch="main",
468
- ssh_authentication_config=gcp.dataform.RepositoryGitRemoteSettingsSshAuthenticationConfigArgs(
469
- user_private_key_secret_version=secret_version.id,
470
- host_public_key="ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU",
471
- ),
472
- ),
473
- workspace_compilation_overrides=gcp.dataform.RepositoryWorkspaceCompilationOverridesArgs(
474
- default_database="database",
475
- schema_suffix="_suffix",
476
- table_prefix="prefix_",
477
- ),
478
- service_account="1234567890-compute@developer.gserviceaccount.com")
479
- ```
480
- <!--End PulumiCodeChooser -->
481
446
 
482
447
  ## Import
483
448
 
@@ -547,7 +512,6 @@ class Repository(pulumi.CustomResource):
547
512
  import pulumi
548
513
  import pulumi_gcp as gcp
549
514
 
550
- git_repository = gcp.sourcerepo.Repository("git_repository", name="my/repository")
551
515
  secret = gcp.secretmanager.Secret("secret",
552
516
  secret_id="my-secret",
553
517
  replication=gcp.secretmanager.SecretReplicationArgs(
@@ -556,7 +520,7 @@ class Repository(pulumi.CustomResource):
556
520
  secret_version = gcp.secretmanager.SecretVersion("secret_version",
557
521
  secret=secret.id,
558
522
  secret_data="secret-data")
559
- dataform_respository = gcp.dataform.Repository("dataform_respository",
523
+ dataform_repository = gcp.dataform.Repository("dataform_repository",
560
524
  name="dataform_repository",
561
525
  display_name="dataform_repository",
562
526
  npmrc_environment_variables_secret_version=secret_version.id,
@@ -564,7 +528,7 @@ class Repository(pulumi.CustomResource):
564
528
  "label_foo1": "label-bar1",
565
529
  },
566
530
  git_remote_settings=gcp.dataform.RepositoryGitRemoteSettingsArgs(
567
- url=git_repository.url,
531
+ url="https://github.com/OWNER/REPOSITORY.git",
568
532
  default_branch="main",
569
533
  authentication_token_secret_version=secret_version.id,
570
534
  ),
@@ -575,40 +539,6 @@ class Repository(pulumi.CustomResource):
575
539
  ))
576
540
  ```
577
541
  <!--End PulumiCodeChooser -->
578
- ### Dataform Repository Ssh
579
-
580
- <!--Start PulumiCodeChooser -->
581
- ```python
582
- import pulumi
583
- import pulumi_gcp as gcp
584
-
585
- git_repository = gcp.sourcerepo.Repository("git_repository", name="my/repository")
586
- secret = gcp.secretmanager.Secret("secret",
587
- secret_id="my-secret",
588
- replication=gcp.secretmanager.SecretReplicationArgs(
589
- auto=gcp.secretmanager.SecretReplicationAutoArgs(),
590
- ))
591
- secret_version = gcp.secretmanager.SecretVersion("secret_version",
592
- secret=secret.id,
593
- secret_data="secret-data")
594
- dataform_respository = gcp.dataform.Repository("dataform_respository",
595
- name="dataform_repository",
596
- git_remote_settings=gcp.dataform.RepositoryGitRemoteSettingsArgs(
597
- url=git_repository.url,
598
- default_branch="main",
599
- ssh_authentication_config=gcp.dataform.RepositoryGitRemoteSettingsSshAuthenticationConfigArgs(
600
- user_private_key_secret_version=secret_version.id,
601
- host_public_key="ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAklOUpkDHrfHY17SbrmTIpNLTGK9Tjom/BWDSU",
602
- ),
603
- ),
604
- workspace_compilation_overrides=gcp.dataform.RepositoryWorkspaceCompilationOverridesArgs(
605
- default_database="database",
606
- schema_suffix="_suffix",
607
- table_prefix="prefix_",
608
- ),
609
- service_account="1234567890-compute@developer.gserviceaccount.com")
610
- ```
611
- <!--End PulumiCodeChooser -->
612
542
 
613
543
  ## Import
614
544