pulumi-gcp 7.30.0a1720039709__py3-none-any.whl → 7.30.0a1720437548__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 +32 -0
  2. pulumi_gcp/artifactregistry/get_docker_image.py +2 -2
  3. pulumi_gcp/bigtable/gc_policy.py +68 -14
  4. pulumi_gcp/cloudfunctionsv2/_inputs.py +97 -0
  5. pulumi_gcp/cloudfunctionsv2/function.py +232 -0
  6. pulumi_gcp/cloudfunctionsv2/outputs.py +129 -1
  7. pulumi_gcp/compute/_inputs.py +622 -0
  8. pulumi_gcp/compute/address.py +0 -7
  9. pulumi_gcp/compute/backend_service.py +0 -14
  10. pulumi_gcp/compute/forwarding_rule.py +0 -21
  11. pulumi_gcp/compute/global_forwarding_rule.py +0 -21
  12. pulumi_gcp/compute/managed_ssl_certificate.py +0 -7
  13. pulumi_gcp/compute/manged_ssl_certificate.py +0 -7
  14. pulumi_gcp/compute/network_attachment.py +16 -0
  15. pulumi_gcp/compute/outputs.py +504 -8
  16. pulumi_gcp/compute/region_backend_service.py +0 -14
  17. pulumi_gcp/compute/region_ssl_certificate.py +0 -7
  18. pulumi_gcp/compute/ssl_certificate.py +0 -7
  19. pulumi_gcp/compute/target_https_proxy.py +76 -1
  20. pulumi_gcp/compute/url_map.py +255 -0
  21. pulumi_gcp/container/aws_cluster.py +2 -2
  22. pulumi_gcp/container/aws_node_pool.py +2 -2
  23. pulumi_gcp/container/azure_client.py +2 -2
  24. pulumi_gcp/container/azure_cluster.py +2 -2
  25. pulumi_gcp/container/azure_node_pool.py +2 -2
  26. pulumi_gcp/datafusion/_inputs.py +163 -11
  27. pulumi_gcp/datafusion/instance.py +64 -0
  28. pulumi_gcp/datafusion/outputs.py +127 -7
  29. pulumi_gcp/healthcare/_inputs.py +43 -0
  30. pulumi_gcp/healthcare/dataset.py +110 -0
  31. pulumi_gcp/healthcare/outputs.py +43 -0
  32. pulumi_gcp/identityplatform/config.py +1 -1
  33. pulumi_gcp/logging/billing_account_bucket_config.py +1 -1
  34. pulumi_gcp/logging/folder_bucket_config.py +1 -1
  35. pulumi_gcp/logging/organization_bucket_config.py +1 -1
  36. pulumi_gcp/monitoring/_inputs.py +77 -0
  37. pulumi_gcp/monitoring/outputs.py +63 -0
  38. pulumi_gcp/pulumi-plugin.json +1 -1
  39. pulumi_gcp/securitycenter/instance_iam_binding.py +64 -0
  40. pulumi_gcp/securitycenter/instance_iam_member.py +64 -0
  41. pulumi_gcp/securitycenter/instance_iam_policy.py +64 -0
  42. pulumi_gcp/storage/__init__.py +5 -0
  43. pulumi_gcp/storage/_inputs.py +130 -0
  44. pulumi_gcp/storage/get_managed_folder_iam_policy.py +115 -0
  45. pulumi_gcp/storage/managed_folder.py +440 -0
  46. pulumi_gcp/storage/managed_folder_iam_binding.py +947 -0
  47. pulumi_gcp/storage/managed_folder_iam_member.py +947 -0
  48. pulumi_gcp/storage/managed_folder_iam_policy.py +766 -0
  49. pulumi_gcp/storage/outputs.py +76 -0
  50. pulumi_gcp/vertex/_inputs.py +3 -3
  51. pulumi_gcp/vertex/ai_feature_online_store.py +9 -9
  52. pulumi_gcp/vertex/outputs.py +2 -2
  53. {pulumi_gcp-7.30.0a1720039709.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/METADATA +1 -1
  54. {pulumi_gcp-7.30.0a1720039709.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/RECORD +56 -51
  55. {pulumi_gcp-7.30.0a1720039709.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/WHEEL +0 -0
  56. {pulumi_gcp-7.30.0a1720039709.dist-info → pulumi_gcp-7.30.0a1720437548.dist-info}/top_level.txt +0 -0
@@ -473,6 +473,8 @@ __all__ = [
473
473
  'SubnetworkIAMMemberCondition',
474
474
  'SubnetworkLogConfig',
475
475
  'SubnetworkSecondaryIpRange',
476
+ 'URLMapDefaultCustomErrorResponsePolicy',
477
+ 'URLMapDefaultCustomErrorResponsePolicyErrorResponseRule',
476
478
  'URLMapDefaultRouteAction',
477
479
  'URLMapDefaultRouteActionCorsPolicy',
478
480
  'URLMapDefaultRouteActionFaultInjectionPolicy',
@@ -494,6 +496,8 @@ __all__ = [
494
496
  'URLMapHeaderActionResponseHeadersToAdd',
495
497
  'URLMapHostRule',
496
498
  'URLMapPathMatcher',
499
+ 'URLMapPathMatcherDefaultCustomErrorResponsePolicy',
500
+ 'URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRule',
497
501
  'URLMapPathMatcherDefaultRouteAction',
498
502
  'URLMapPathMatcherDefaultRouteActionCorsPolicy',
499
503
  'URLMapPathMatcherDefaultRouteActionFaultInjectionPolicy',
@@ -514,6 +518,8 @@ __all__ = [
514
518
  'URLMapPathMatcherHeaderActionRequestHeadersToAdd',
515
519
  'URLMapPathMatcherHeaderActionResponseHeadersToAdd',
516
520
  'URLMapPathMatcherPathRule',
521
+ 'URLMapPathMatcherPathRuleCustomErrorResponsePolicy',
522
+ 'URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRule',
517
523
  'URLMapPathMatcherPathRuleRouteAction',
518
524
  'URLMapPathMatcherPathRuleRouteActionCorsPolicy',
519
525
  'URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicy',
@@ -33644,6 +33650,152 @@ class SubnetworkSecondaryIpRange(dict):
33644
33650
  return pulumi.get(self, "range_name")
33645
33651
 
33646
33652
 
33653
+ @pulumi.output_type
33654
+ class URLMapDefaultCustomErrorResponsePolicy(dict):
33655
+ @staticmethod
33656
+ def __key_warning(key: str):
33657
+ suggest = None
33658
+ if key == "errorResponseRules":
33659
+ suggest = "error_response_rules"
33660
+ elif key == "errorService":
33661
+ suggest = "error_service"
33662
+
33663
+ if suggest:
33664
+ pulumi.log.warn(f"Key '{key}' not found in URLMapDefaultCustomErrorResponsePolicy. Access the value via the '{suggest}' property getter instead.")
33665
+
33666
+ def __getitem__(self, key: str) -> Any:
33667
+ URLMapDefaultCustomErrorResponsePolicy.__key_warning(key)
33668
+ return super().__getitem__(key)
33669
+
33670
+ def get(self, key: str, default = None) -> Any:
33671
+ URLMapDefaultCustomErrorResponsePolicy.__key_warning(key)
33672
+ return super().get(key, default)
33673
+
33674
+ def __init__(__self__, *,
33675
+ error_response_rules: Optional[Sequence['outputs.URLMapDefaultCustomErrorResponsePolicyErrorResponseRule']] = None,
33676
+ error_service: Optional[str] = None):
33677
+ """
33678
+ :param Sequence['URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgs'] error_response_rules: Specifies rules for returning error responses.
33679
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
33680
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
33681
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
33682
+ Structure is documented below.
33683
+ :param str error_service: The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
33684
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
33685
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
33686
+ global/backendBuckets/myBackendBucket
33687
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
33688
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
33689
+ """
33690
+ if error_response_rules is not None:
33691
+ pulumi.set(__self__, "error_response_rules", error_response_rules)
33692
+ if error_service is not None:
33693
+ pulumi.set(__self__, "error_service", error_service)
33694
+
33695
+ @property
33696
+ @pulumi.getter(name="errorResponseRules")
33697
+ def error_response_rules(self) -> Optional[Sequence['outputs.URLMapDefaultCustomErrorResponsePolicyErrorResponseRule']]:
33698
+ """
33699
+ Specifies rules for returning error responses.
33700
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
33701
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
33702
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
33703
+ Structure is documented below.
33704
+ """
33705
+ return pulumi.get(self, "error_response_rules")
33706
+
33707
+ @property
33708
+ @pulumi.getter(name="errorService")
33709
+ def error_service(self) -> Optional[str]:
33710
+ """
33711
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
33712
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
33713
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
33714
+ global/backendBuckets/myBackendBucket
33715
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
33716
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
33717
+ """
33718
+ return pulumi.get(self, "error_service")
33719
+
33720
+
33721
+ @pulumi.output_type
33722
+ class URLMapDefaultCustomErrorResponsePolicyErrorResponseRule(dict):
33723
+ @staticmethod
33724
+ def __key_warning(key: str):
33725
+ suggest = None
33726
+ if key == "matchResponseCodes":
33727
+ suggest = "match_response_codes"
33728
+ elif key == "overrideResponseCode":
33729
+ suggest = "override_response_code"
33730
+
33731
+ if suggest:
33732
+ pulumi.log.warn(f"Key '{key}' not found in URLMapDefaultCustomErrorResponsePolicyErrorResponseRule. Access the value via the '{suggest}' property getter instead.")
33733
+
33734
+ def __getitem__(self, key: str) -> Any:
33735
+ URLMapDefaultCustomErrorResponsePolicyErrorResponseRule.__key_warning(key)
33736
+ return super().__getitem__(key)
33737
+
33738
+ def get(self, key: str, default = None) -> Any:
33739
+ URLMapDefaultCustomErrorResponsePolicyErrorResponseRule.__key_warning(key)
33740
+ return super().get(key, default)
33741
+
33742
+ def __init__(__self__, *,
33743
+ match_response_codes: Optional[Sequence[str]] = None,
33744
+ override_response_code: Optional[int] = None,
33745
+ path: Optional[str] = None):
33746
+ """
33747
+ :param Sequence[str] match_response_codes: Valid values include:
33748
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
33749
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
33750
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
33751
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
33752
+ :param int override_response_code: The HTTP status code returned with the response containing the custom error content.
33753
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
33754
+ :param str path: The full path to a file within backendBucket. For example: /errors/defaultError.html
33755
+ path must start with a leading slash. path cannot have trailing slashes.
33756
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
33757
+ The value must be from 1 to 1024 characters.
33758
+ """
33759
+ if match_response_codes is not None:
33760
+ pulumi.set(__self__, "match_response_codes", match_response_codes)
33761
+ if override_response_code is not None:
33762
+ pulumi.set(__self__, "override_response_code", override_response_code)
33763
+ if path is not None:
33764
+ pulumi.set(__self__, "path", path)
33765
+
33766
+ @property
33767
+ @pulumi.getter(name="matchResponseCodes")
33768
+ def match_response_codes(self) -> Optional[Sequence[str]]:
33769
+ """
33770
+ Valid values include:
33771
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
33772
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
33773
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
33774
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
33775
+ """
33776
+ return pulumi.get(self, "match_response_codes")
33777
+
33778
+ @property
33779
+ @pulumi.getter(name="overrideResponseCode")
33780
+ def override_response_code(self) -> Optional[int]:
33781
+ """
33782
+ The HTTP status code returned with the response containing the custom error content.
33783
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
33784
+ """
33785
+ return pulumi.get(self, "override_response_code")
33786
+
33787
+ @property
33788
+ @pulumi.getter
33789
+ def path(self) -> Optional[str]:
33790
+ """
33791
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
33792
+ path must start with a leading slash. path cannot have trailing slashes.
33793
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
33794
+ The value must be from 1 to 1024 characters.
33795
+ """
33796
+ return pulumi.get(self, "path")
33797
+
33798
+
33647
33799
  @pulumi.output_type
33648
33800
  class URLMapDefaultRouteAction(dict):
33649
33801
  @staticmethod
@@ -35109,7 +35261,9 @@ class URLMapPathMatcher(dict):
35109
35261
  @staticmethod
35110
35262
  def __key_warning(key: str):
35111
35263
  suggest = None
35112
- if key == "defaultRouteAction":
35264
+ if key == "defaultCustomErrorResponsePolicy":
35265
+ suggest = "default_custom_error_response_policy"
35266
+ elif key == "defaultRouteAction":
35113
35267
  suggest = "default_route_action"
35114
35268
  elif key == "defaultService":
35115
35269
  suggest = "default_service"
@@ -35135,6 +35289,7 @@ class URLMapPathMatcher(dict):
35135
35289
 
35136
35290
  def __init__(__self__, *,
35137
35291
  name: str,
35292
+ default_custom_error_response_policy: Optional['outputs.URLMapPathMatcherDefaultCustomErrorResponsePolicy'] = None,
35138
35293
  default_route_action: Optional['outputs.URLMapPathMatcherDefaultRouteAction'] = None,
35139
35294
  default_service: Optional[str] = None,
35140
35295
  default_url_redirect: Optional['outputs.URLMapPathMatcherDefaultUrlRedirect'] = None,
@@ -35144,6 +35299,15 @@ class URLMapPathMatcher(dict):
35144
35299
  route_rules: Optional[Sequence['outputs.URLMapPathMatcherRouteRule']] = None):
35145
35300
  """
35146
35301
  :param str name: The name to which this PathMatcher is referred by the HostRule.
35302
+ :param 'URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs' default_custom_error_response_policy: defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
35303
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
35304
+ For example, consider a UrlMap with the following configuration:
35305
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
35306
+ A RouteRule for /coming_soon/ is configured for the error code 404.
35307
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
35308
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
35309
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
35310
+ Structure is documented below.
35147
35311
  :param 'URLMapPathMatcherDefaultRouteActionArgs' default_route_action: defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
35148
35312
  advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
35149
35313
  to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
@@ -35177,6 +35341,8 @@ class URLMapPathMatcher(dict):
35177
35341
  Structure is documented below.
35178
35342
  """
35179
35343
  pulumi.set(__self__, "name", name)
35344
+ if default_custom_error_response_policy is not None:
35345
+ pulumi.set(__self__, "default_custom_error_response_policy", default_custom_error_response_policy)
35180
35346
  if default_route_action is not None:
35181
35347
  pulumi.set(__self__, "default_route_action", default_route_action)
35182
35348
  if default_service is not None:
@@ -35200,6 +35366,22 @@ class URLMapPathMatcher(dict):
35200
35366
  """
35201
35367
  return pulumi.get(self, "name")
35202
35368
 
35369
+ @property
35370
+ @pulumi.getter(name="defaultCustomErrorResponsePolicy")
35371
+ def default_custom_error_response_policy(self) -> Optional['outputs.URLMapPathMatcherDefaultCustomErrorResponsePolicy']:
35372
+ """
35373
+ defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
35374
+ This policy takes effect at the PathMatcher level and applies only when no policy has been defined for the error code at lower levels like RouteRule and PathRule within this PathMatcher. If an error code does not have a policy defined in defaultCustomErrorResponsePolicy, then a policy defined for the error code in UrlMap.defaultCustomErrorResponsePolicy takes effect.
35375
+ For example, consider a UrlMap with the following configuration:
35376
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
35377
+ A RouteRule for /coming_soon/ is configured for the error code 404.
35378
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in RouteRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
35379
+ When used in conjunction with pathMatcher.defaultRouteAction.retryPolicy, retries take precedence. Only once all retries are exhausted, the defaultCustomErrorResponsePolicy is applied. While attempting a retry, if load balancer is successful in reaching the service, the defaultCustomErrorResponsePolicy is ignored and the response from the service is returned to the client.
35380
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
35381
+ Structure is documented below.
35382
+ """
35383
+ return pulumi.get(self, "default_custom_error_response_policy")
35384
+
35203
35385
  @property
35204
35386
  @pulumi.getter(name="defaultRouteAction")
35205
35387
  def default_route_action(self) -> Optional['outputs.URLMapPathMatcherDefaultRouteAction']:
@@ -35281,6 +35463,152 @@ class URLMapPathMatcher(dict):
35281
35463
  return pulumi.get(self, "route_rules")
35282
35464
 
35283
35465
 
35466
+ @pulumi.output_type
35467
+ class URLMapPathMatcherDefaultCustomErrorResponsePolicy(dict):
35468
+ @staticmethod
35469
+ def __key_warning(key: str):
35470
+ suggest = None
35471
+ if key == "errorResponseRules":
35472
+ suggest = "error_response_rules"
35473
+ elif key == "errorService":
35474
+ suggest = "error_service"
35475
+
35476
+ if suggest:
35477
+ pulumi.log.warn(f"Key '{key}' not found in URLMapPathMatcherDefaultCustomErrorResponsePolicy. Access the value via the '{suggest}' property getter instead.")
35478
+
35479
+ def __getitem__(self, key: str) -> Any:
35480
+ URLMapPathMatcherDefaultCustomErrorResponsePolicy.__key_warning(key)
35481
+ return super().__getitem__(key)
35482
+
35483
+ def get(self, key: str, default = None) -> Any:
35484
+ URLMapPathMatcherDefaultCustomErrorResponsePolicy.__key_warning(key)
35485
+ return super().get(key, default)
35486
+
35487
+ def __init__(__self__, *,
35488
+ error_response_rules: Optional[Sequence['outputs.URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRule']] = None,
35489
+ error_service: Optional[str] = None):
35490
+ """
35491
+ :param Sequence['URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgs'] error_response_rules: Specifies rules for returning error responses.
35492
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
35493
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
35494
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
35495
+ Structure is documented below.
35496
+ :param str error_service: The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
35497
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
35498
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
35499
+ global/backendBuckets/myBackendBucket
35500
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
35501
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
35502
+ """
35503
+ if error_response_rules is not None:
35504
+ pulumi.set(__self__, "error_response_rules", error_response_rules)
35505
+ if error_service is not None:
35506
+ pulumi.set(__self__, "error_service", error_service)
35507
+
35508
+ @property
35509
+ @pulumi.getter(name="errorResponseRules")
35510
+ def error_response_rules(self) -> Optional[Sequence['outputs.URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRule']]:
35511
+ """
35512
+ Specifies rules for returning error responses.
35513
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
35514
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
35515
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
35516
+ Structure is documented below.
35517
+ """
35518
+ return pulumi.get(self, "error_response_rules")
35519
+
35520
+ @property
35521
+ @pulumi.getter(name="errorService")
35522
+ def error_service(self) -> Optional[str]:
35523
+ """
35524
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
35525
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
35526
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
35527
+ global/backendBuckets/myBackendBucket
35528
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
35529
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
35530
+ """
35531
+ return pulumi.get(self, "error_service")
35532
+
35533
+
35534
+ @pulumi.output_type
35535
+ class URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRule(dict):
35536
+ @staticmethod
35537
+ def __key_warning(key: str):
35538
+ suggest = None
35539
+ if key == "matchResponseCodes":
35540
+ suggest = "match_response_codes"
35541
+ elif key == "overrideResponseCode":
35542
+ suggest = "override_response_code"
35543
+
35544
+ if suggest:
35545
+ pulumi.log.warn(f"Key '{key}' not found in URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRule. Access the value via the '{suggest}' property getter instead.")
35546
+
35547
+ def __getitem__(self, key: str) -> Any:
35548
+ URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRule.__key_warning(key)
35549
+ return super().__getitem__(key)
35550
+
35551
+ def get(self, key: str, default = None) -> Any:
35552
+ URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRule.__key_warning(key)
35553
+ return super().get(key, default)
35554
+
35555
+ def __init__(__self__, *,
35556
+ match_response_codes: Optional[Sequence[str]] = None,
35557
+ override_response_code: Optional[int] = None,
35558
+ path: Optional[str] = None):
35559
+ """
35560
+ :param Sequence[str] match_response_codes: Valid values include:
35561
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
35562
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
35563
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
35564
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
35565
+ :param int override_response_code: The HTTP status code returned with the response containing the custom error content.
35566
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
35567
+ :param str path: The full path to a file within backendBucket. For example: /errors/defaultError.html
35568
+ path must start with a leading slash. path cannot have trailing slashes.
35569
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
35570
+ The value must be from 1 to 1024 characters.
35571
+ """
35572
+ if match_response_codes is not None:
35573
+ pulumi.set(__self__, "match_response_codes", match_response_codes)
35574
+ if override_response_code is not None:
35575
+ pulumi.set(__self__, "override_response_code", override_response_code)
35576
+ if path is not None:
35577
+ pulumi.set(__self__, "path", path)
35578
+
35579
+ @property
35580
+ @pulumi.getter(name="matchResponseCodes")
35581
+ def match_response_codes(self) -> Optional[Sequence[str]]:
35582
+ """
35583
+ Valid values include:
35584
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
35585
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
35586
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
35587
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
35588
+ """
35589
+ return pulumi.get(self, "match_response_codes")
35590
+
35591
+ @property
35592
+ @pulumi.getter(name="overrideResponseCode")
35593
+ def override_response_code(self) -> Optional[int]:
35594
+ """
35595
+ The HTTP status code returned with the response containing the custom error content.
35596
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
35597
+ """
35598
+ return pulumi.get(self, "override_response_code")
35599
+
35600
+ @property
35601
+ @pulumi.getter
35602
+ def path(self) -> Optional[str]:
35603
+ """
35604
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
35605
+ path must start with a leading slash. path cannot have trailing slashes.
35606
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
35607
+ The value must be from 1 to 1024 characters.
35608
+ """
35609
+ return pulumi.get(self, "path")
35610
+
35611
+
35284
35612
  @pulumi.output_type
35285
35613
  class URLMapPathMatcherDefaultRouteAction(dict):
35286
35614
  @staticmethod
@@ -36680,7 +37008,9 @@ class URLMapPathMatcherPathRule(dict):
36680
37008
  @staticmethod
36681
37009
  def __key_warning(key: str):
36682
37010
  suggest = None
36683
- if key == "routeAction":
37011
+ if key == "customErrorResponsePolicy":
37012
+ suggest = "custom_error_response_policy"
37013
+ elif key == "routeAction":
36684
37014
  suggest = "route_action"
36685
37015
  elif key == "urlRedirect":
36686
37016
  suggest = "url_redirect"
@@ -36698,6 +37028,7 @@ class URLMapPathMatcherPathRule(dict):
36698
37028
 
36699
37029
  def __init__(__self__, *,
36700
37030
  paths: Sequence[str],
37031
+ custom_error_response_policy: Optional['outputs.URLMapPathMatcherPathRuleCustomErrorResponsePolicy'] = None,
36701
37032
  route_action: Optional['outputs.URLMapPathMatcherPathRuleRouteAction'] = None,
36702
37033
  service: Optional[str] = None,
36703
37034
  url_redirect: Optional['outputs.URLMapPathMatcherPathRuleUrlRedirect'] = None):
@@ -36706,6 +37037,14 @@ class URLMapPathMatcherPathRule(dict):
36706
37037
  \\* is allowed is at the end following a /. The string fed to the path matcher
36707
37038
  does not include any text after the first ? or #, and those chars are not
36708
37039
  allowed here.
37040
+ :param 'URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs' custom_error_response_policy: customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
37041
+ If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect.
37042
+ For example, consider a UrlMap with the following configuration:
37043
+ UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
37044
+ A PathRule for /coming_soon/ is configured for the error code 404.
37045
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
37046
+ customErrorResponsePolicy is supported only for global external Application Load Balancers.
37047
+ Structure is documented below.
36709
37048
  :param 'URLMapPathMatcherPathRuleRouteActionArgs' route_action: In response to a matching path, the load balancer performs advanced routing
36710
37049
  actions like URL rewrites, header transformations, etc. prior to forwarding the
36711
37050
  request to the selected backend. If routeAction specifies any
@@ -36720,6 +37059,8 @@ class URLMapPathMatcherPathRule(dict):
36720
37059
  Structure is documented below.
36721
37060
  """
36722
37061
  pulumi.set(__self__, "paths", paths)
37062
+ if custom_error_response_policy is not None:
37063
+ pulumi.set(__self__, "custom_error_response_policy", custom_error_response_policy)
36723
37064
  if route_action is not None:
36724
37065
  pulumi.set(__self__, "route_action", route_action)
36725
37066
  if service is not None:
@@ -36738,6 +37079,21 @@ class URLMapPathMatcherPathRule(dict):
36738
37079
  """
36739
37080
  return pulumi.get(self, "paths")
36740
37081
 
37082
+ @property
37083
+ @pulumi.getter(name="customErrorResponsePolicy")
37084
+ def custom_error_response_policy(self) -> Optional['outputs.URLMapPathMatcherPathRuleCustomErrorResponsePolicy']:
37085
+ """
37086
+ customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
37087
+ If a policy for an error code is not configured for the PathRule, a policy for the error code configured in pathMatcher.defaultCustomErrorResponsePolicy is applied. If one is not specified in pathMatcher.defaultCustomErrorResponsePolicy, the policy configured in UrlMap.defaultCustomErrorResponsePolicy takes effect.
37088
+ For example, consider a UrlMap with the following configuration:
37089
+ UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
37090
+ A PathRule for /coming_soon/ is configured for the error code 404.
37091
+ If the request is for www.myotherdomain.com and a 404 is encountered, the policy under UrlMap.defaultCustomErrorResponsePolicy takes effect. If a 404 response is encountered for the request www.example.com/current_events/, the pathMatcher's policy takes effect. If however, the request for www.example.com/coming_soon/ encounters a 404, the policy in PathRule.customErrorResponsePolicy takes effect. If any of the requests in this example encounter a 500 error code, the policy at UrlMap.defaultCustomErrorResponsePolicy takes effect.
37092
+ customErrorResponsePolicy is supported only for global external Application Load Balancers.
37093
+ Structure is documented below.
37094
+ """
37095
+ return pulumi.get(self, "custom_error_response_policy")
37096
+
36741
37097
  @property
36742
37098
  @pulumi.getter(name="routeAction")
36743
37099
  def route_action(self) -> Optional['outputs.URLMapPathMatcherPathRuleRouteAction']:
@@ -36772,6 +37128,152 @@ class URLMapPathMatcherPathRule(dict):
36772
37128
  return pulumi.get(self, "url_redirect")
36773
37129
 
36774
37130
 
37131
+ @pulumi.output_type
37132
+ class URLMapPathMatcherPathRuleCustomErrorResponsePolicy(dict):
37133
+ @staticmethod
37134
+ def __key_warning(key: str):
37135
+ suggest = None
37136
+ if key == "errorResponseRules":
37137
+ suggest = "error_response_rules"
37138
+ elif key == "errorService":
37139
+ suggest = "error_service"
37140
+
37141
+ if suggest:
37142
+ pulumi.log.warn(f"Key '{key}' not found in URLMapPathMatcherPathRuleCustomErrorResponsePolicy. Access the value via the '{suggest}' property getter instead.")
37143
+
37144
+ def __getitem__(self, key: str) -> Any:
37145
+ URLMapPathMatcherPathRuleCustomErrorResponsePolicy.__key_warning(key)
37146
+ return super().__getitem__(key)
37147
+
37148
+ def get(self, key: str, default = None) -> Any:
37149
+ URLMapPathMatcherPathRuleCustomErrorResponsePolicy.__key_warning(key)
37150
+ return super().get(key, default)
37151
+
37152
+ def __init__(__self__, *,
37153
+ error_response_rules: Optional[Sequence['outputs.URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRule']] = None,
37154
+ error_service: Optional[str] = None):
37155
+ """
37156
+ :param Sequence['URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgs'] error_response_rules: Specifies rules for returning error responses.
37157
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
37158
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
37159
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
37160
+ Structure is documented below.
37161
+ :param str error_service: The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
37162
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
37163
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
37164
+ global/backendBuckets/myBackendBucket
37165
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
37166
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
37167
+ """
37168
+ if error_response_rules is not None:
37169
+ pulumi.set(__self__, "error_response_rules", error_response_rules)
37170
+ if error_service is not None:
37171
+ pulumi.set(__self__, "error_service", error_service)
37172
+
37173
+ @property
37174
+ @pulumi.getter(name="errorResponseRules")
37175
+ def error_response_rules(self) -> Optional[Sequence['outputs.URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRule']]:
37176
+ """
37177
+ Specifies rules for returning error responses.
37178
+ In a given policy, if you specify rules for both a range of error codes as well as rules for specific error codes then rules with specific error codes have a higher priority.
37179
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
37180
+ If the backend service returns a 401, then the rule for 401 will be applied. However if the backend service returns a 403, the rule for 4xx takes effect.
37181
+ Structure is documented below.
37182
+ """
37183
+ return pulumi.get(self, "error_response_rules")
37184
+
37185
+ @property
37186
+ @pulumi.getter(name="errorService")
37187
+ def error_service(self) -> Optional[str]:
37188
+ """
37189
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
37190
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
37191
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
37192
+ global/backendBuckets/myBackendBucket
37193
+ If errorService is not specified at lower levels like pathMatcher, pathRule and routeRule, an errorService specified at a higher level in the UrlMap will be used. If UrlMap.defaultCustomErrorResponsePolicy contains one or more errorResponseRules[], it must specify errorService.
37194
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
37195
+ """
37196
+ return pulumi.get(self, "error_service")
37197
+
37198
+
37199
+ @pulumi.output_type
37200
+ class URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRule(dict):
37201
+ @staticmethod
37202
+ def __key_warning(key: str):
37203
+ suggest = None
37204
+ if key == "matchResponseCodes":
37205
+ suggest = "match_response_codes"
37206
+ elif key == "overrideResponseCode":
37207
+ suggest = "override_response_code"
37208
+
37209
+ if suggest:
37210
+ pulumi.log.warn(f"Key '{key}' not found in URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRule. Access the value via the '{suggest}' property getter instead.")
37211
+
37212
+ def __getitem__(self, key: str) -> Any:
37213
+ URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRule.__key_warning(key)
37214
+ return super().__getitem__(key)
37215
+
37216
+ def get(self, key: str, default = None) -> Any:
37217
+ URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRule.__key_warning(key)
37218
+ return super().get(key, default)
37219
+
37220
+ def __init__(__self__, *,
37221
+ match_response_codes: Optional[Sequence[str]] = None,
37222
+ override_response_code: Optional[int] = None,
37223
+ path: Optional[str] = None):
37224
+ """
37225
+ :param Sequence[str] match_response_codes: Valid values include:
37226
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
37227
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
37228
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
37229
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
37230
+ :param int override_response_code: The HTTP status code returned with the response containing the custom error content.
37231
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
37232
+ :param str path: The full path to a file within backendBucket. For example: /errors/defaultError.html
37233
+ path must start with a leading slash. path cannot have trailing slashes.
37234
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
37235
+ The value must be from 1 to 1024 characters.
37236
+ """
37237
+ if match_response_codes is not None:
37238
+ pulumi.set(__self__, "match_response_codes", match_response_codes)
37239
+ if override_response_code is not None:
37240
+ pulumi.set(__self__, "override_response_code", override_response_code)
37241
+ if path is not None:
37242
+ pulumi.set(__self__, "path", path)
37243
+
37244
+ @property
37245
+ @pulumi.getter(name="matchResponseCodes")
37246
+ def match_response_codes(self) -> Optional[Sequence[str]]:
37247
+ """
37248
+ Valid values include:
37249
+ - A number between 400 and 599: For example 401 or 503, in which case the load balancer applies the policy if the error code exactly matches this value.
37250
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
37251
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
37252
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
37253
+ """
37254
+ return pulumi.get(self, "match_response_codes")
37255
+
37256
+ @property
37257
+ @pulumi.getter(name="overrideResponseCode")
37258
+ def override_response_code(self) -> Optional[int]:
37259
+ """
37260
+ The HTTP status code returned with the response containing the custom error content.
37261
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
37262
+ """
37263
+ return pulumi.get(self, "override_response_code")
37264
+
37265
+ @property
37266
+ @pulumi.getter
37267
+ def path(self) -> Optional[str]:
37268
+ """
37269
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
37270
+ path must start with a leading slash. path cannot have trailing slashes.
37271
+ If the file is not available in backendBucket or the load balancer cannot reach the BackendBucket, a simple Not Found Error is returned to the client.
37272
+ The value must be from 1 to 1024 characters.
37273
+ """
37274
+ return pulumi.get(self, "path")
37275
+
37276
+
36775
37277
  @pulumi.output_type
36776
37278
  class URLMapPathMatcherPathRuleRouteAction(dict):
36777
37279
  @staticmethod
@@ -42152,7 +42654,6 @@ class GetForwardingRulesRuleResult(dict):
42152
42654
  * When the 'target' is a Private Service Connect Google APIs
42153
42655
  bundle, you must specify an 'IPAddress'.
42154
42656
 
42155
-
42156
42657
  Otherwise, you can optionally specify an IP address that references an
42157
42658
  existing static (reserved) IP address resource. When omitted, Google Cloud
42158
42659
  assigns an ephemeral IP address.
@@ -42170,7 +42671,6 @@ class GetForwardingRulesRuleResult(dict):
42170
42671
  * 'global/addresses/address-name'
42171
42672
  * 'address-name'
42172
42673
 
42173
-
42174
42674
  The forwarding rule's 'target' or 'backendService',
42175
42675
  and in most cases, also the 'loadBalancingScheme', determine the
42176
42676
  type of IP address that you can use. For detailed information, see
@@ -42342,7 +42842,6 @@ class GetForwardingRulesRuleResult(dict):
42342
42842
  * 'vpc-sc' - [ APIs that support VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/supported-products).
42343
42843
  * 'all-apis' - [All supported Google APIs](https://cloud.google.com/vpc/docs/private-service-connect#supported-apis).
42344
42844
 
42345
-
42346
42845
  For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment.
42347
42846
  """
42348
42847
  pulumi.set(__self__, "all_ports", all_ports)
@@ -42484,7 +42983,6 @@ class GetForwardingRulesRuleResult(dict):
42484
42983
  * When the 'target' is a Private Service Connect Google APIs
42485
42984
  bundle, you must specify an 'IPAddress'.
42486
42985
 
42487
-
42488
42986
  Otherwise, you can optionally specify an IP address that references an
42489
42987
  existing static (reserved) IP address resource. When omitted, Google Cloud
42490
42988
  assigns an ephemeral IP address.
@@ -42502,7 +43000,6 @@ class GetForwardingRulesRuleResult(dict):
42502
43000
  * 'global/addresses/address-name'
42503
43001
  * 'address-name'
42504
43002
 
42505
-
42506
43003
  The forwarding rule's 'target' or 'backendService',
42507
43004
  and in most cases, also the 'loadBalancingScheme', determine the
42508
43005
  type of IP address that you can use. For detailed information, see
@@ -42847,7 +43344,6 @@ class GetForwardingRulesRuleResult(dict):
42847
43344
  * 'vpc-sc' - [ APIs that support VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/supported-products).
42848
43345
  * 'all-apis' - [All supported Google APIs](https://cloud.google.com/vpc/docs/private-service-connect#supported-apis).
42849
43346
 
42850
-
42851
43347
  For Private Service Connect forwarding rules that forward traffic to managed services, the target must be a service attachment.
42852
43348
  """
42853
43349
  return pulumi.get(self, "target")