pulumi-gcp 7.30.0a1720075632__py3-none-any.whl → 7.30.1__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.0a1720075632.dist-info → pulumi_gcp-7.30.1.dist-info}/METADATA +1 -1
  54. {pulumi_gcp-7.30.0a1720075632.dist-info → pulumi_gcp-7.30.1.dist-info}/RECORD +56 -51
  55. {pulumi_gcp-7.30.0a1720075632.dist-info → pulumi_gcp-7.30.1.dist-info}/WHEEL +0 -0
  56. {pulumi_gcp-7.30.0a1720075632.dist-info → pulumi_gcp-7.30.1.dist-info}/top_level.txt +0 -0
@@ -925,6 +925,10 @@ __all__ = [
925
925
  'SubnetworkLogConfigArgsDict',
926
926
  'SubnetworkSecondaryIpRangeArgs',
927
927
  'SubnetworkSecondaryIpRangeArgsDict',
928
+ 'URLMapDefaultCustomErrorResponsePolicyArgs',
929
+ 'URLMapDefaultCustomErrorResponsePolicyArgsDict',
930
+ 'URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgs',
931
+ 'URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgsDict',
928
932
  'URLMapDefaultRouteActionArgs',
929
933
  'URLMapDefaultRouteActionArgsDict',
930
934
  'URLMapDefaultRouteActionCorsPolicyArgs',
@@ -967,6 +971,10 @@ __all__ = [
967
971
  'URLMapHostRuleArgsDict',
968
972
  'URLMapPathMatcherArgs',
969
973
  'URLMapPathMatcherArgsDict',
974
+ 'URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs',
975
+ 'URLMapPathMatcherDefaultCustomErrorResponsePolicyArgsDict',
976
+ 'URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgs',
977
+ 'URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgsDict',
970
978
  'URLMapPathMatcherDefaultRouteActionArgs',
971
979
  'URLMapPathMatcherDefaultRouteActionArgsDict',
972
980
  'URLMapPathMatcherDefaultRouteActionCorsPolicyArgs',
@@ -1007,6 +1015,10 @@ __all__ = [
1007
1015
  'URLMapPathMatcherHeaderActionResponseHeadersToAddArgsDict',
1008
1016
  'URLMapPathMatcherPathRuleArgs',
1009
1017
  'URLMapPathMatcherPathRuleArgsDict',
1018
+ 'URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs',
1019
+ 'URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgsDict',
1020
+ 'URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgs',
1021
+ 'URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict',
1010
1022
  'URLMapPathMatcherPathRuleRouteActionArgs',
1011
1023
  'URLMapPathMatcherPathRuleRouteActionArgsDict',
1012
1024
  'URLMapPathMatcherPathRuleRouteActionCorsPolicyArgs',
@@ -43789,6 +43801,181 @@ class SubnetworkSecondaryIpRangeArgs:
43789
43801
  pulumi.set(self, "range_name", value)
43790
43802
 
43791
43803
 
43804
+ if not MYPY:
43805
+ class URLMapDefaultCustomErrorResponsePolicyArgsDict(TypedDict):
43806
+ error_response_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgsDict']]]]
43807
+ """
43808
+ Specifies rules for returning error responses.
43809
+ 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.
43810
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
43811
+ 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.
43812
+ Structure is documented below.
43813
+ """
43814
+ error_service: NotRequired[pulumi.Input[str]]
43815
+ """
43816
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
43817
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
43818
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
43819
+ global/backendBuckets/myBackendBucket
43820
+ 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.
43821
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
43822
+ """
43823
+ elif False:
43824
+ URLMapDefaultCustomErrorResponsePolicyArgsDict: TypeAlias = Mapping[str, Any]
43825
+
43826
+ @pulumi.input_type
43827
+ class URLMapDefaultCustomErrorResponsePolicyArgs:
43828
+ def __init__(__self__, *,
43829
+ error_response_rules: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgs']]]] = None,
43830
+ error_service: Optional[pulumi.Input[str]] = None):
43831
+ """
43832
+ :param pulumi.Input[Sequence[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgs']]] error_response_rules: Specifies rules for returning error responses.
43833
+ 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.
43834
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
43835
+ 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.
43836
+ Structure is documented below.
43837
+ :param pulumi.Input[str] error_service: The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
43838
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
43839
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
43840
+ global/backendBuckets/myBackendBucket
43841
+ 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.
43842
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
43843
+ """
43844
+ if error_response_rules is not None:
43845
+ pulumi.set(__self__, "error_response_rules", error_response_rules)
43846
+ if error_service is not None:
43847
+ pulumi.set(__self__, "error_service", error_service)
43848
+
43849
+ @property
43850
+ @pulumi.getter(name="errorResponseRules")
43851
+ def error_response_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgs']]]]:
43852
+ """
43853
+ Specifies rules for returning error responses.
43854
+ 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.
43855
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
43856
+ 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.
43857
+ Structure is documented below.
43858
+ """
43859
+ return pulumi.get(self, "error_response_rules")
43860
+
43861
+ @error_response_rules.setter
43862
+ def error_response_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgs']]]]):
43863
+ pulumi.set(self, "error_response_rules", value)
43864
+
43865
+ @property
43866
+ @pulumi.getter(name="errorService")
43867
+ def error_service(self) -> Optional[pulumi.Input[str]]:
43868
+ """
43869
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
43870
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
43871
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
43872
+ global/backendBuckets/myBackendBucket
43873
+ 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.
43874
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
43875
+ """
43876
+ return pulumi.get(self, "error_service")
43877
+
43878
+ @error_service.setter
43879
+ def error_service(self, value: Optional[pulumi.Input[str]]):
43880
+ pulumi.set(self, "error_service", value)
43881
+
43882
+
43883
+ if not MYPY:
43884
+ class URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgsDict(TypedDict):
43885
+ match_response_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
43886
+ """
43887
+ Valid values include:
43888
+ - 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.
43889
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
43890
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
43891
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
43892
+ """
43893
+ override_response_code: NotRequired[pulumi.Input[int]]
43894
+ """
43895
+ The HTTP status code returned with the response containing the custom error content.
43896
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
43897
+ """
43898
+ path: NotRequired[pulumi.Input[str]]
43899
+ """
43900
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
43901
+ path must start with a leading slash. path cannot have trailing slashes.
43902
+ 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.
43903
+ The value must be from 1 to 1024 characters.
43904
+ """
43905
+ elif False:
43906
+ URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgsDict: TypeAlias = Mapping[str, Any]
43907
+
43908
+ @pulumi.input_type
43909
+ class URLMapDefaultCustomErrorResponsePolicyErrorResponseRuleArgs:
43910
+ def __init__(__self__, *,
43911
+ match_response_codes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
43912
+ override_response_code: Optional[pulumi.Input[int]] = None,
43913
+ path: Optional[pulumi.Input[str]] = None):
43914
+ """
43915
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] match_response_codes: Valid values include:
43916
+ - 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.
43917
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
43918
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
43919
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
43920
+ :param pulumi.Input[int] override_response_code: The HTTP status code returned with the response containing the custom error content.
43921
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
43922
+ :param pulumi.Input[str] path: The full path to a file within backendBucket. For example: /errors/defaultError.html
43923
+ path must start with a leading slash. path cannot have trailing slashes.
43924
+ 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.
43925
+ The value must be from 1 to 1024 characters.
43926
+ """
43927
+ if match_response_codes is not None:
43928
+ pulumi.set(__self__, "match_response_codes", match_response_codes)
43929
+ if override_response_code is not None:
43930
+ pulumi.set(__self__, "override_response_code", override_response_code)
43931
+ if path is not None:
43932
+ pulumi.set(__self__, "path", path)
43933
+
43934
+ @property
43935
+ @pulumi.getter(name="matchResponseCodes")
43936
+ def match_response_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
43937
+ """
43938
+ Valid values include:
43939
+ - 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.
43940
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
43941
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
43942
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
43943
+ """
43944
+ return pulumi.get(self, "match_response_codes")
43945
+
43946
+ @match_response_codes.setter
43947
+ def match_response_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
43948
+ pulumi.set(self, "match_response_codes", value)
43949
+
43950
+ @property
43951
+ @pulumi.getter(name="overrideResponseCode")
43952
+ def override_response_code(self) -> Optional[pulumi.Input[int]]:
43953
+ """
43954
+ The HTTP status code returned with the response containing the custom error content.
43955
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
43956
+ """
43957
+ return pulumi.get(self, "override_response_code")
43958
+
43959
+ @override_response_code.setter
43960
+ def override_response_code(self, value: Optional[pulumi.Input[int]]):
43961
+ pulumi.set(self, "override_response_code", value)
43962
+
43963
+ @property
43964
+ @pulumi.getter
43965
+ def path(self) -> Optional[pulumi.Input[str]]:
43966
+ """
43967
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
43968
+ path must start with a leading slash. path cannot have trailing slashes.
43969
+ 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.
43970
+ The value must be from 1 to 1024 characters.
43971
+ """
43972
+ return pulumi.get(self, "path")
43973
+
43974
+ @path.setter
43975
+ def path(self, value: Optional[pulumi.Input[str]]):
43976
+ pulumi.set(self, "path", value)
43977
+
43978
+
43792
43979
  if not MYPY:
43793
43980
  class URLMapDefaultRouteActionArgsDict(TypedDict):
43794
43981
  cors_policy: NotRequired[pulumi.Input['URLMapDefaultRouteActionCorsPolicyArgsDict']]
@@ -45652,6 +45839,18 @@ if not MYPY:
45652
45839
  """
45653
45840
  The name to which this PathMatcher is referred by the HostRule.
45654
45841
  """
45842
+ default_custom_error_response_policy: NotRequired[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyArgsDict']]
45843
+ """
45844
+ defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
45845
+ 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.
45846
+ For example, consider a UrlMap with the following configuration:
45847
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
45848
+ A RouteRule for /coming_soon/ is configured for the error code 404.
45849
+ 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.
45850
+ 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.
45851
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
45852
+ Structure is documented below.
45853
+ """
45655
45854
  default_route_action: NotRequired[pulumi.Input['URLMapPathMatcherDefaultRouteActionArgsDict']]
45656
45855
  """
45657
45856
  defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
@@ -45711,6 +45910,7 @@ elif False:
45711
45910
  class URLMapPathMatcherArgs:
45712
45911
  def __init__(__self__, *,
45713
45912
  name: pulumi.Input[str],
45913
+ default_custom_error_response_policy: Optional[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs']] = None,
45714
45914
  default_route_action: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionArgs']] = None,
45715
45915
  default_service: Optional[pulumi.Input[str]] = None,
45716
45916
  default_url_redirect: Optional[pulumi.Input['URLMapPathMatcherDefaultUrlRedirectArgs']] = None,
@@ -45720,6 +45920,15 @@ class URLMapPathMatcherArgs:
45720
45920
  route_rules: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherRouteRuleArgs']]]] = None):
45721
45921
  """
45722
45922
  :param pulumi.Input[str] name: The name to which this PathMatcher is referred by the HostRule.
45923
+ :param pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs'] default_custom_error_response_policy: defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
45924
+ 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.
45925
+ For example, consider a UrlMap with the following configuration:
45926
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
45927
+ A RouteRule for /coming_soon/ is configured for the error code 404.
45928
+ 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.
45929
+ 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.
45930
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
45931
+ Structure is documented below.
45723
45932
  :param pulumi.Input['URLMapPathMatcherDefaultRouteActionArgs'] default_route_action: defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
45724
45933
  advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
45725
45934
  to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
@@ -45753,6 +45962,8 @@ class URLMapPathMatcherArgs:
45753
45962
  Structure is documented below.
45754
45963
  """
45755
45964
  pulumi.set(__self__, "name", name)
45965
+ if default_custom_error_response_policy is not None:
45966
+ pulumi.set(__self__, "default_custom_error_response_policy", default_custom_error_response_policy)
45756
45967
  if default_route_action is not None:
45757
45968
  pulumi.set(__self__, "default_route_action", default_route_action)
45758
45969
  if default_service is not None:
@@ -45780,6 +45991,26 @@ class URLMapPathMatcherArgs:
45780
45991
  def name(self, value: pulumi.Input[str]):
45781
45992
  pulumi.set(self, "name", value)
45782
45993
 
45994
+ @property
45995
+ @pulumi.getter(name="defaultCustomErrorResponsePolicy")
45996
+ def default_custom_error_response_policy(self) -> Optional[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs']]:
45997
+ """
45998
+ defaultCustomErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
45999
+ 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.
46000
+ For example, consider a UrlMap with the following configuration:
46001
+ UrlMap.defaultCustomErrorResponsePolicy is configured with policies for 5xx and 4xx errors
46002
+ A RouteRule for /coming_soon/ is configured for the error code 404.
46003
+ 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.
46004
+ 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.
46005
+ defaultCustomErrorResponsePolicy is supported only for global external Application Load Balancers.
46006
+ Structure is documented below.
46007
+ """
46008
+ return pulumi.get(self, "default_custom_error_response_policy")
46009
+
46010
+ @default_custom_error_response_policy.setter
46011
+ def default_custom_error_response_policy(self, value: Optional[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs']]):
46012
+ pulumi.set(self, "default_custom_error_response_policy", value)
46013
+
45783
46014
  @property
45784
46015
  @pulumi.getter(name="defaultRouteAction")
45785
46016
  def default_route_action(self) -> Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionArgs']]:
@@ -45889,6 +46120,181 @@ class URLMapPathMatcherArgs:
45889
46120
  pulumi.set(self, "route_rules", value)
45890
46121
 
45891
46122
 
46123
+ if not MYPY:
46124
+ class URLMapPathMatcherDefaultCustomErrorResponsePolicyArgsDict(TypedDict):
46125
+ error_response_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgsDict']]]]
46126
+ """
46127
+ Specifies rules for returning error responses.
46128
+ 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.
46129
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
46130
+ 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.
46131
+ Structure is documented below.
46132
+ """
46133
+ error_service: NotRequired[pulumi.Input[str]]
46134
+ """
46135
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
46136
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
46137
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
46138
+ global/backendBuckets/myBackendBucket
46139
+ 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.
46140
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
46141
+ """
46142
+ elif False:
46143
+ URLMapPathMatcherDefaultCustomErrorResponsePolicyArgsDict: TypeAlias = Mapping[str, Any]
46144
+
46145
+ @pulumi.input_type
46146
+ class URLMapPathMatcherDefaultCustomErrorResponsePolicyArgs:
46147
+ def __init__(__self__, *,
46148
+ error_response_rules: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgs']]]] = None,
46149
+ error_service: Optional[pulumi.Input[str]] = None):
46150
+ """
46151
+ :param pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgs']]] error_response_rules: Specifies rules for returning error responses.
46152
+ 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.
46153
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
46154
+ 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.
46155
+ Structure is documented below.
46156
+ :param pulumi.Input[str] error_service: The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
46157
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
46158
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
46159
+ global/backendBuckets/myBackendBucket
46160
+ 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.
46161
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
46162
+ """
46163
+ if error_response_rules is not None:
46164
+ pulumi.set(__self__, "error_response_rules", error_response_rules)
46165
+ if error_service is not None:
46166
+ pulumi.set(__self__, "error_service", error_service)
46167
+
46168
+ @property
46169
+ @pulumi.getter(name="errorResponseRules")
46170
+ def error_response_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgs']]]]:
46171
+ """
46172
+ Specifies rules for returning error responses.
46173
+ 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.
46174
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
46175
+ 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.
46176
+ Structure is documented below.
46177
+ """
46178
+ return pulumi.get(self, "error_response_rules")
46179
+
46180
+ @error_response_rules.setter
46181
+ def error_response_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgs']]]]):
46182
+ pulumi.set(self, "error_response_rules", value)
46183
+
46184
+ @property
46185
+ @pulumi.getter(name="errorService")
46186
+ def error_service(self) -> Optional[pulumi.Input[str]]:
46187
+ """
46188
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
46189
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
46190
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
46191
+ global/backendBuckets/myBackendBucket
46192
+ 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.
46193
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
46194
+ """
46195
+ return pulumi.get(self, "error_service")
46196
+
46197
+ @error_service.setter
46198
+ def error_service(self, value: Optional[pulumi.Input[str]]):
46199
+ pulumi.set(self, "error_service", value)
46200
+
46201
+
46202
+ if not MYPY:
46203
+ class URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgsDict(TypedDict):
46204
+ match_response_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
46205
+ """
46206
+ Valid values include:
46207
+ - 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.
46208
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
46209
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
46210
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
46211
+ """
46212
+ override_response_code: NotRequired[pulumi.Input[int]]
46213
+ """
46214
+ The HTTP status code returned with the response containing the custom error content.
46215
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
46216
+ """
46217
+ path: NotRequired[pulumi.Input[str]]
46218
+ """
46219
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
46220
+ path must start with a leading slash. path cannot have trailing slashes.
46221
+ 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.
46222
+ The value must be from 1 to 1024 characters.
46223
+ """
46224
+ elif False:
46225
+ URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgsDict: TypeAlias = Mapping[str, Any]
46226
+
46227
+ @pulumi.input_type
46228
+ class URLMapPathMatcherDefaultCustomErrorResponsePolicyErrorResponseRuleArgs:
46229
+ def __init__(__self__, *,
46230
+ match_response_codes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
46231
+ override_response_code: Optional[pulumi.Input[int]] = None,
46232
+ path: Optional[pulumi.Input[str]] = None):
46233
+ """
46234
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] match_response_codes: Valid values include:
46235
+ - 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.
46236
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
46237
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
46238
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
46239
+ :param pulumi.Input[int] override_response_code: The HTTP status code returned with the response containing the custom error content.
46240
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
46241
+ :param pulumi.Input[str] path: The full path to a file within backendBucket. For example: /errors/defaultError.html
46242
+ path must start with a leading slash. path cannot have trailing slashes.
46243
+ 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.
46244
+ The value must be from 1 to 1024 characters.
46245
+ """
46246
+ if match_response_codes is not None:
46247
+ pulumi.set(__self__, "match_response_codes", match_response_codes)
46248
+ if override_response_code is not None:
46249
+ pulumi.set(__self__, "override_response_code", override_response_code)
46250
+ if path is not None:
46251
+ pulumi.set(__self__, "path", path)
46252
+
46253
+ @property
46254
+ @pulumi.getter(name="matchResponseCodes")
46255
+ def match_response_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
46256
+ """
46257
+ Valid values include:
46258
+ - 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.
46259
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
46260
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
46261
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
46262
+ """
46263
+ return pulumi.get(self, "match_response_codes")
46264
+
46265
+ @match_response_codes.setter
46266
+ def match_response_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
46267
+ pulumi.set(self, "match_response_codes", value)
46268
+
46269
+ @property
46270
+ @pulumi.getter(name="overrideResponseCode")
46271
+ def override_response_code(self) -> Optional[pulumi.Input[int]]:
46272
+ """
46273
+ The HTTP status code returned with the response containing the custom error content.
46274
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
46275
+ """
46276
+ return pulumi.get(self, "override_response_code")
46277
+
46278
+ @override_response_code.setter
46279
+ def override_response_code(self, value: Optional[pulumi.Input[int]]):
46280
+ pulumi.set(self, "override_response_code", value)
46281
+
46282
+ @property
46283
+ @pulumi.getter
46284
+ def path(self) -> Optional[pulumi.Input[str]]:
46285
+ """
46286
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
46287
+ path must start with a leading slash. path cannot have trailing slashes.
46288
+ 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.
46289
+ The value must be from 1 to 1024 characters.
46290
+ """
46291
+ return pulumi.get(self, "path")
46292
+
46293
+ @path.setter
46294
+ def path(self, value: Optional[pulumi.Input[str]]):
46295
+ pulumi.set(self, "path", value)
46296
+
46297
+
45892
46298
  if not MYPY:
45893
46299
  class URLMapPathMatcherDefaultRouteActionArgsDict(TypedDict):
45894
46300
  cors_policy: NotRequired[pulumi.Input['URLMapPathMatcherDefaultRouteActionCorsPolicyArgsDict']]
@@ -47673,6 +48079,17 @@ if not MYPY:
47673
48079
  does not include any text after the first ? or #, and those chars are not
47674
48080
  allowed here.
47675
48081
  """
48082
+ custom_error_response_policy: NotRequired[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgsDict']]
48083
+ """
48084
+ customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
48085
+ 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.
48086
+ For example, consider a UrlMap with the following configuration:
48087
+ UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
48088
+ A PathRule for /coming_soon/ is configured for the error code 404.
48089
+ 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.
48090
+ customErrorResponsePolicy is supported only for global external Application Load Balancers.
48091
+ Structure is documented below.
48092
+ """
47676
48093
  route_action: NotRequired[pulumi.Input['URLMapPathMatcherPathRuleRouteActionArgsDict']]
47677
48094
  """
47678
48095
  In response to a matching path, the load balancer performs advanced routing
@@ -47701,6 +48118,7 @@ elif False:
47701
48118
  class URLMapPathMatcherPathRuleArgs:
47702
48119
  def __init__(__self__, *,
47703
48120
  paths: pulumi.Input[Sequence[pulumi.Input[str]]],
48121
+ custom_error_response_policy: Optional[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs']] = None,
47704
48122
  route_action: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionArgs']] = None,
47705
48123
  service: Optional[pulumi.Input[str]] = None,
47706
48124
  url_redirect: Optional[pulumi.Input['URLMapPathMatcherPathRuleUrlRedirectArgs']] = None):
@@ -47709,6 +48127,14 @@ class URLMapPathMatcherPathRuleArgs:
47709
48127
  \\* is allowed is at the end following a /. The string fed to the path matcher
47710
48128
  does not include any text after the first ? or #, and those chars are not
47711
48129
  allowed here.
48130
+ :param pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs'] custom_error_response_policy: customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
48131
+ 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.
48132
+ For example, consider a UrlMap with the following configuration:
48133
+ UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
48134
+ A PathRule for /coming_soon/ is configured for the error code 404.
48135
+ 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.
48136
+ customErrorResponsePolicy is supported only for global external Application Load Balancers.
48137
+ Structure is documented below.
47712
48138
  :param pulumi.Input['URLMapPathMatcherPathRuleRouteActionArgs'] route_action: In response to a matching path, the load balancer performs advanced routing
47713
48139
  actions like URL rewrites, header transformations, etc. prior to forwarding the
47714
48140
  request to the selected backend. If routeAction specifies any
@@ -47723,6 +48149,8 @@ class URLMapPathMatcherPathRuleArgs:
47723
48149
  Structure is documented below.
47724
48150
  """
47725
48151
  pulumi.set(__self__, "paths", paths)
48152
+ if custom_error_response_policy is not None:
48153
+ pulumi.set(__self__, "custom_error_response_policy", custom_error_response_policy)
47726
48154
  if route_action is not None:
47727
48155
  pulumi.set(__self__, "route_action", route_action)
47728
48156
  if service is not None:
@@ -47745,6 +48173,25 @@ class URLMapPathMatcherPathRuleArgs:
47745
48173
  def paths(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
47746
48174
  pulumi.set(self, "paths", value)
47747
48175
 
48176
+ @property
48177
+ @pulumi.getter(name="customErrorResponsePolicy")
48178
+ def custom_error_response_policy(self) -> Optional[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs']]:
48179
+ """
48180
+ customErrorResponsePolicy specifies how the Load Balancer returns error responses when BackendServiceor BackendBucket responds with an error.
48181
+ 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.
48182
+ For example, consider a UrlMap with the following configuration:
48183
+ UrlMap.defaultCustomErrorResponsePolicy are configured with policies for 5xx and 4xx errors
48184
+ A PathRule for /coming_soon/ is configured for the error code 404.
48185
+ 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.
48186
+ customErrorResponsePolicy is supported only for global external Application Load Balancers.
48187
+ Structure is documented below.
48188
+ """
48189
+ return pulumi.get(self, "custom_error_response_policy")
48190
+
48191
+ @custom_error_response_policy.setter
48192
+ def custom_error_response_policy(self, value: Optional[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs']]):
48193
+ pulumi.set(self, "custom_error_response_policy", value)
48194
+
47748
48195
  @property
47749
48196
  @pulumi.getter(name="routeAction")
47750
48197
  def route_action(self) -> Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionArgs']]:
@@ -47791,6 +48238,181 @@ class URLMapPathMatcherPathRuleArgs:
47791
48238
  pulumi.set(self, "url_redirect", value)
47792
48239
 
47793
48240
 
48241
+ if not MYPY:
48242
+ class URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgsDict(TypedDict):
48243
+ error_response_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict']]]]
48244
+ """
48245
+ Specifies rules for returning error responses.
48246
+ 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.
48247
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
48248
+ 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.
48249
+ Structure is documented below.
48250
+ """
48251
+ error_service: NotRequired[pulumi.Input[str]]
48252
+ """
48253
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
48254
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
48255
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
48256
+ global/backendBuckets/myBackendBucket
48257
+ 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.
48258
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
48259
+ """
48260
+ elif False:
48261
+ URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgsDict: TypeAlias = Mapping[str, Any]
48262
+
48263
+ @pulumi.input_type
48264
+ class URLMapPathMatcherPathRuleCustomErrorResponsePolicyArgs:
48265
+ def __init__(__self__, *,
48266
+ error_response_rules: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgs']]]] = None,
48267
+ error_service: Optional[pulumi.Input[str]] = None):
48268
+ """
48269
+ :param pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgs']]] error_response_rules: Specifies rules for returning error responses.
48270
+ 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.
48271
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
48272
+ 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.
48273
+ Structure is documented below.
48274
+ :param pulumi.Input[str] error_service: The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
48275
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
48276
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
48277
+ global/backendBuckets/myBackendBucket
48278
+ 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.
48279
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
48280
+ """
48281
+ if error_response_rules is not None:
48282
+ pulumi.set(__self__, "error_response_rules", error_response_rules)
48283
+ if error_service is not None:
48284
+ pulumi.set(__self__, "error_service", error_service)
48285
+
48286
+ @property
48287
+ @pulumi.getter(name="errorResponseRules")
48288
+ def error_response_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgs']]]]:
48289
+ """
48290
+ Specifies rules for returning error responses.
48291
+ 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.
48292
+ For example, assume that you configure a rule for 401 (Un-authorized) code, and another for all 4 series error codes (4XX).
48293
+ 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.
48294
+ Structure is documented below.
48295
+ """
48296
+ return pulumi.get(self, "error_response_rules")
48297
+
48298
+ @error_response_rules.setter
48299
+ def error_response_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgs']]]]):
48300
+ pulumi.set(self, "error_response_rules", value)
48301
+
48302
+ @property
48303
+ @pulumi.getter(name="errorService")
48304
+ def error_service(self) -> Optional[pulumi.Input[str]]:
48305
+ """
48306
+ The full or partial URL to the BackendBucket resource that contains the custom error content. Examples are:
48307
+ https://www.googleapis.com/compute/v1/projects/project/global/backendBuckets/myBackendBucket
48308
+ compute/v1/projects/project/global/backendBuckets/myBackendBucket
48309
+ global/backendBuckets/myBackendBucket
48310
+ 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.
48311
+ If load balancer cannot reach the backendBucket, a simple Not Found Error will be returned, with the original response code (or overrideResponseCode if configured).
48312
+ """
48313
+ return pulumi.get(self, "error_service")
48314
+
48315
+ @error_service.setter
48316
+ def error_service(self, value: Optional[pulumi.Input[str]]):
48317
+ pulumi.set(self, "error_service", value)
48318
+
48319
+
48320
+ if not MYPY:
48321
+ class URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict(TypedDict):
48322
+ match_response_codes: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
48323
+ """
48324
+ Valid values include:
48325
+ - 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.
48326
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
48327
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
48328
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
48329
+ """
48330
+ override_response_code: NotRequired[pulumi.Input[int]]
48331
+ """
48332
+ The HTTP status code returned with the response containing the custom error content.
48333
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
48334
+ """
48335
+ path: NotRequired[pulumi.Input[str]]
48336
+ """
48337
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
48338
+ path must start with a leading slash. path cannot have trailing slashes.
48339
+ 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.
48340
+ The value must be from 1 to 1024 characters.
48341
+ """
48342
+ elif False:
48343
+ URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgsDict: TypeAlias = Mapping[str, Any]
48344
+
48345
+ @pulumi.input_type
48346
+ class URLMapPathMatcherPathRuleCustomErrorResponsePolicyErrorResponseRuleArgs:
48347
+ def __init__(__self__, *,
48348
+ match_response_codes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
48349
+ override_response_code: Optional[pulumi.Input[int]] = None,
48350
+ path: Optional[pulumi.Input[str]] = None):
48351
+ """
48352
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] match_response_codes: Valid values include:
48353
+ - 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.
48354
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
48355
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
48356
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
48357
+ :param pulumi.Input[int] override_response_code: The HTTP status code returned with the response containing the custom error content.
48358
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
48359
+ :param pulumi.Input[str] path: The full path to a file within backendBucket. For example: /errors/defaultError.html
48360
+ path must start with a leading slash. path cannot have trailing slashes.
48361
+ 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.
48362
+ The value must be from 1 to 1024 characters.
48363
+ """
48364
+ if match_response_codes is not None:
48365
+ pulumi.set(__self__, "match_response_codes", match_response_codes)
48366
+ if override_response_code is not None:
48367
+ pulumi.set(__self__, "override_response_code", override_response_code)
48368
+ if path is not None:
48369
+ pulumi.set(__self__, "path", path)
48370
+
48371
+ @property
48372
+ @pulumi.getter(name="matchResponseCodes")
48373
+ def match_response_codes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
48374
+ """
48375
+ Valid values include:
48376
+ - 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.
48377
+ - 5xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 500 to 599.
48378
+ - 4xx: Load Balancer will apply the policy if the backend service responds with any response code in the range of 400 to 499.
48379
+ Values must be unique within matchResponseCodes and across all errorResponseRules of CustomErrorResponsePolicy.
48380
+ """
48381
+ return pulumi.get(self, "match_response_codes")
48382
+
48383
+ @match_response_codes.setter
48384
+ def match_response_codes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
48385
+ pulumi.set(self, "match_response_codes", value)
48386
+
48387
+ @property
48388
+ @pulumi.getter(name="overrideResponseCode")
48389
+ def override_response_code(self) -> Optional[pulumi.Input[int]]:
48390
+ """
48391
+ The HTTP status code returned with the response containing the custom error content.
48392
+ If overrideResponseCode is not supplied, the same response code returned by the original backend bucket or backend service is returned to the client.
48393
+ """
48394
+ return pulumi.get(self, "override_response_code")
48395
+
48396
+ @override_response_code.setter
48397
+ def override_response_code(self, value: Optional[pulumi.Input[int]]):
48398
+ pulumi.set(self, "override_response_code", value)
48399
+
48400
+ @property
48401
+ @pulumi.getter
48402
+ def path(self) -> Optional[pulumi.Input[str]]:
48403
+ """
48404
+ The full path to a file within backendBucket. For example: /errors/defaultError.html
48405
+ path must start with a leading slash. path cannot have trailing slashes.
48406
+ 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.
48407
+ The value must be from 1 to 1024 characters.
48408
+ """
48409
+ return pulumi.get(self, "path")
48410
+
48411
+ @path.setter
48412
+ def path(self, value: Optional[pulumi.Input[str]]):
48413
+ pulumi.set(self, "path", value)
48414
+
48415
+
47794
48416
  if not MYPY:
47795
48417
  class URLMapPathMatcherPathRuleRouteActionArgsDict(TypedDict):
47796
48418
  cors_policy: NotRequired[pulumi.Input['URLMapPathMatcherPathRuleRouteActionCorsPolicyArgsDict']]