pulumi-gcp 8.35.0a1750142992__py3-none-any.whl → 8.35.0a1750225231__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 (52) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/backupdisasterrecovery/backup_plan.py +100 -7
  3. pulumi_gcp/backupdisasterrecovery/backup_plan_association.py +35 -7
  4. pulumi_gcp/backupdisasterrecovery/get_backup_plan.py +12 -1
  5. pulumi_gcp/bigqueryanalyticshub/listing.py +108 -0
  6. pulumi_gcp/compute/_inputs.py +2028 -175
  7. pulumi_gcp/compute/disk.py +7 -7
  8. pulumi_gcp/compute/outputs.py +1483 -110
  9. pulumi_gcp/compute/region_url_map.py +344 -0
  10. pulumi_gcp/compute/target_http_proxy.py +118 -0
  11. pulumi_gcp/compute/target_https_proxy.py +132 -0
  12. pulumi_gcp/compute/url_map.py +344 -0
  13. pulumi_gcp/compute/vpn_tunnel.py +178 -0
  14. pulumi_gcp/dataplex/__init__.py +1 -0
  15. pulumi_gcp/dataplex/get_data_quality_rules.py +169 -0
  16. pulumi_gcp/dataplex/outputs.py +420 -0
  17. pulumi_gcp/diagflow/__init__.py +1 -0
  18. pulumi_gcp/diagflow/_inputs.py +939 -0
  19. pulumi_gcp/diagflow/cx_agent.py +34 -0
  20. pulumi_gcp/diagflow/cx_tool.py +899 -0
  21. pulumi_gcp/diagflow/outputs.py +780 -0
  22. pulumi_gcp/firestore/field.py +6 -6
  23. pulumi_gcp/gkehub/membership_binding.py +6 -6
  24. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  25. pulumi_gcp/gkehub/namespace.py +4 -4
  26. pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -8
  27. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  28. pulumi_gcp/integrationconnectors/_inputs.py +24 -1
  29. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  30. pulumi_gcp/integrationconnectors/outputs.py +15 -1
  31. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  32. pulumi_gcp/managedkafka/connector.py +4 -4
  33. pulumi_gcp/netapp/_inputs.py +23 -0
  34. pulumi_gcp/netapp/outputs.py +16 -0
  35. pulumi_gcp/netapp/storage_pool.py +108 -0
  36. pulumi_gcp/networkconnectivity/_inputs.py +71 -1
  37. pulumi_gcp/networkconnectivity/outputs.py +64 -1
  38. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  39. pulumi_gcp/notebooks/runtime.py +4 -0
  40. pulumi_gcp/orgpolicy/policy.py +2 -2
  41. pulumi_gcp/pubsub/subscription.py +6 -6
  42. pulumi_gcp/pulumi-plugin.json +1 -1
  43. pulumi_gcp/redis/_inputs.py +77 -0
  44. pulumi_gcp/redis/cluster.py +32 -0
  45. pulumi_gcp/redis/outputs.py +63 -0
  46. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  47. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  48. pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +99 -64
  49. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750225231.dist-info}/METADATA +1 -1
  50. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750225231.dist-info}/RECORD +52 -50
  51. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750225231.dist-info}/WHEEL +0 -0
  52. {pulumi_gcp-8.35.0a1750142992.dist-info → pulumi_gcp-8.35.0a1750225231.dist-info}/top_level.txt +0 -0
@@ -998,6 +998,38 @@ __all__ = [
998
998
  'RegionUrlMapHostRuleArgsDict',
999
999
  'RegionUrlMapPathMatcherArgs',
1000
1000
  'RegionUrlMapPathMatcherArgsDict',
1001
+ 'RegionUrlMapPathMatcherDefaultRouteActionArgs',
1002
+ 'RegionUrlMapPathMatcherDefaultRouteActionArgsDict',
1003
+ 'RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgs',
1004
+ 'RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgsDict',
1005
+ 'RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgs',
1006
+ 'RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgsDict',
1007
+ 'RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgs',
1008
+ 'RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgsDict',
1009
+ 'RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgs',
1010
+ 'RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgsDict',
1011
+ 'RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs',
1012
+ 'RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgsDict',
1013
+ 'RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgs',
1014
+ 'RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgsDict',
1015
+ 'RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs',
1016
+ 'RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgsDict',
1017
+ 'RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgs',
1018
+ 'RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgsDict',
1019
+ 'RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgs',
1020
+ 'RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgsDict',
1021
+ 'RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgs',
1022
+ 'RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgsDict',
1023
+ 'RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgs',
1024
+ 'RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgsDict',
1025
+ 'RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgs',
1026
+ 'RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgsDict',
1027
+ 'RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgs',
1028
+ 'RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgsDict',
1029
+ 'RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs',
1030
+ 'RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgsDict',
1031
+ 'RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs',
1032
+ 'RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgsDict',
1001
1033
  'RegionUrlMapPathMatcherDefaultUrlRedirectArgs',
1002
1034
  'RegionUrlMapPathMatcherDefaultUrlRedirectArgsDict',
1003
1035
  'RegionUrlMapPathMatcherPathRuleArgs',
@@ -1494,6 +1526,14 @@ __all__ = [
1494
1526
  'URLMapPathMatcherRouteRuleUrlRedirectArgsDict',
1495
1527
  'URLMapTestArgs',
1496
1528
  'URLMapTestArgsDict',
1529
+ 'URLMapTestHeaderArgs',
1530
+ 'URLMapTestHeaderArgsDict',
1531
+ 'VPNTunnelCipherSuiteArgs',
1532
+ 'VPNTunnelCipherSuiteArgsDict',
1533
+ 'VPNTunnelCipherSuitePhase1Args',
1534
+ 'VPNTunnelCipherSuitePhase1ArgsDict',
1535
+ 'VPNTunnelCipherSuitePhase2Args',
1536
+ 'VPNTunnelCipherSuitePhase2ArgsDict',
1497
1537
  ]
1498
1538
 
1499
1539
  MYPY = False
@@ -51348,180 +51388,1639 @@ if not MYPY:
51348
51388
  """
51349
51389
  The name to which this PathMatcher is referred by the HostRule.
51350
51390
  """
51391
+ default_route_action: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionArgsDict']]
51392
+ """
51393
+ defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
51394
+ advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
51395
+ to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
51396
+ Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
51397
+ Only one of defaultRouteAction or defaultUrlRedirect must be set.
51398
+ Structure is documented below.
51399
+ """
51351
51400
  default_service: NotRequired[pulumi.Input[builtins.str]]
51352
51401
  """
51353
- A reference to a RegionBackendService resource. This will be used if
51354
- none of the pathRules defined by this PathMatcher is matched by
51355
- the URL's path portion.
51402
+ A reference to a RegionBackendService resource. This will be used if
51403
+ none of the pathRules defined by this PathMatcher is matched by
51404
+ the URL's path portion.
51405
+ """
51406
+ default_url_redirect: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgsDict']]
51407
+ """
51408
+ When none of the specified hostRules match, the request is redirected to a URL specified
51409
+ by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
51410
+ defaultRouteAction must not be set.
51411
+ Structure is documented below.
51412
+ """
51413
+ description: NotRequired[pulumi.Input[builtins.str]]
51414
+ """
51415
+ An optional description of this resource.
51416
+ """
51417
+ path_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgsDict']]]]
51418
+ """
51419
+ The list of path rules. Use this list instead of routeRules when routing based
51420
+ on simple path matching is all that's required. The order by which path rules
51421
+ are specified does not matter. Matches are always done on the longest-path-first
51422
+ basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
51423
+ irrespective of the order in which those paths appear in this list. Within a
51424
+ given pathMatcher, only one of pathRules or routeRules must be set.
51425
+ Structure is documented below.
51426
+ """
51427
+ route_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgsDict']]]]
51428
+ """
51429
+ The list of ordered HTTP route rules. Use this list instead of pathRules when
51430
+ advanced route matching and routing actions are desired. The order of specifying
51431
+ routeRules matters: the first rule that matches will cause its specified routing
51432
+ action to take effect. Within a given pathMatcher, only one of pathRules or
51433
+ routeRules must be set. routeRules are not supported in UrlMaps intended for
51434
+ External load balancers.
51435
+ Structure is documented below.
51436
+ """
51437
+ elif False:
51438
+ RegionUrlMapPathMatcherArgsDict: TypeAlias = Mapping[str, Any]
51439
+
51440
+ @pulumi.input_type
51441
+ class RegionUrlMapPathMatcherArgs:
51442
+ def __init__(__self__, *,
51443
+ name: pulumi.Input[builtins.str],
51444
+ default_route_action: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionArgs']] = None,
51445
+ default_service: Optional[pulumi.Input[builtins.str]] = None,
51446
+ default_url_redirect: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgs']] = None,
51447
+ description: Optional[pulumi.Input[builtins.str]] = None,
51448
+ path_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgs']]]] = None,
51449
+ route_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgs']]]] = None):
51450
+ """
51451
+ :param pulumi.Input[builtins.str] name: The name to which this PathMatcher is referred by the HostRule.
51452
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionArgs'] default_route_action: defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
51453
+ advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
51454
+ to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
51455
+ Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
51456
+ Only one of defaultRouteAction or defaultUrlRedirect must be set.
51457
+ Structure is documented below.
51458
+ :param pulumi.Input[builtins.str] default_service: A reference to a RegionBackendService resource. This will be used if
51459
+ none of the pathRules defined by this PathMatcher is matched by
51460
+ the URL's path portion.
51461
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgs'] default_url_redirect: When none of the specified hostRules match, the request is redirected to a URL specified
51462
+ by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
51463
+ defaultRouteAction must not be set.
51464
+ Structure is documented below.
51465
+ :param pulumi.Input[builtins.str] description: An optional description of this resource.
51466
+ :param pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgs']]] path_rules: The list of path rules. Use this list instead of routeRules when routing based
51467
+ on simple path matching is all that's required. The order by which path rules
51468
+ are specified does not matter. Matches are always done on the longest-path-first
51469
+ basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
51470
+ irrespective of the order in which those paths appear in this list. Within a
51471
+ given pathMatcher, only one of pathRules or routeRules must be set.
51472
+ Structure is documented below.
51473
+ :param pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgs']]] route_rules: The list of ordered HTTP route rules. Use this list instead of pathRules when
51474
+ advanced route matching and routing actions are desired. The order of specifying
51475
+ routeRules matters: the first rule that matches will cause its specified routing
51476
+ action to take effect. Within a given pathMatcher, only one of pathRules or
51477
+ routeRules must be set. routeRules are not supported in UrlMaps intended for
51478
+ External load balancers.
51479
+ Structure is documented below.
51480
+ """
51481
+ pulumi.set(__self__, "name", name)
51482
+ if default_route_action is not None:
51483
+ pulumi.set(__self__, "default_route_action", default_route_action)
51484
+ if default_service is not None:
51485
+ pulumi.set(__self__, "default_service", default_service)
51486
+ if default_url_redirect is not None:
51487
+ pulumi.set(__self__, "default_url_redirect", default_url_redirect)
51488
+ if description is not None:
51489
+ pulumi.set(__self__, "description", description)
51490
+ if path_rules is not None:
51491
+ pulumi.set(__self__, "path_rules", path_rules)
51492
+ if route_rules is not None:
51493
+ pulumi.set(__self__, "route_rules", route_rules)
51494
+
51495
+ @property
51496
+ @pulumi.getter
51497
+ def name(self) -> pulumi.Input[builtins.str]:
51498
+ """
51499
+ The name to which this PathMatcher is referred by the HostRule.
51500
+ """
51501
+ return pulumi.get(self, "name")
51502
+
51503
+ @name.setter
51504
+ def name(self, value: pulumi.Input[builtins.str]):
51505
+ pulumi.set(self, "name", value)
51506
+
51507
+ @property
51508
+ @pulumi.getter(name="defaultRouteAction")
51509
+ def default_route_action(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionArgs']]:
51510
+ """
51511
+ defaultRouteAction takes effect when none of the pathRules or routeRules match. The load balancer performs
51512
+ advanced routing actions like URL rewrites, header transformations, etc. prior to forwarding the request
51513
+ to the selected backend. If defaultRouteAction specifies any weightedBackendServices, defaultService must not be set.
51514
+ Conversely if defaultService is set, defaultRouteAction cannot contain any weightedBackendServices.
51515
+ Only one of defaultRouteAction or defaultUrlRedirect must be set.
51516
+ Structure is documented below.
51517
+ """
51518
+ return pulumi.get(self, "default_route_action")
51519
+
51520
+ @default_route_action.setter
51521
+ def default_route_action(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionArgs']]):
51522
+ pulumi.set(self, "default_route_action", value)
51523
+
51524
+ @property
51525
+ @pulumi.getter(name="defaultService")
51526
+ def default_service(self) -> Optional[pulumi.Input[builtins.str]]:
51527
+ """
51528
+ A reference to a RegionBackendService resource. This will be used if
51529
+ none of the pathRules defined by this PathMatcher is matched by
51530
+ the URL's path portion.
51531
+ """
51532
+ return pulumi.get(self, "default_service")
51533
+
51534
+ @default_service.setter
51535
+ def default_service(self, value: Optional[pulumi.Input[builtins.str]]):
51536
+ pulumi.set(self, "default_service", value)
51537
+
51538
+ @property
51539
+ @pulumi.getter(name="defaultUrlRedirect")
51540
+ def default_url_redirect(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgs']]:
51541
+ """
51542
+ When none of the specified hostRules match, the request is redirected to a URL specified
51543
+ by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
51544
+ defaultRouteAction must not be set.
51545
+ Structure is documented below.
51546
+ """
51547
+ return pulumi.get(self, "default_url_redirect")
51548
+
51549
+ @default_url_redirect.setter
51550
+ def default_url_redirect(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgs']]):
51551
+ pulumi.set(self, "default_url_redirect", value)
51552
+
51553
+ @property
51554
+ @pulumi.getter
51555
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
51556
+ """
51557
+ An optional description of this resource.
51558
+ """
51559
+ return pulumi.get(self, "description")
51560
+
51561
+ @description.setter
51562
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
51563
+ pulumi.set(self, "description", value)
51564
+
51565
+ @property
51566
+ @pulumi.getter(name="pathRules")
51567
+ def path_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgs']]]]:
51568
+ """
51569
+ The list of path rules. Use this list instead of routeRules when routing based
51570
+ on simple path matching is all that's required. The order by which path rules
51571
+ are specified does not matter. Matches are always done on the longest-path-first
51572
+ basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
51573
+ irrespective of the order in which those paths appear in this list. Within a
51574
+ given pathMatcher, only one of pathRules or routeRules must be set.
51575
+ Structure is documented below.
51576
+ """
51577
+ return pulumi.get(self, "path_rules")
51578
+
51579
+ @path_rules.setter
51580
+ def path_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgs']]]]):
51581
+ pulumi.set(self, "path_rules", value)
51582
+
51583
+ @property
51584
+ @pulumi.getter(name="routeRules")
51585
+ def route_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgs']]]]:
51586
+ """
51587
+ The list of ordered HTTP route rules. Use this list instead of pathRules when
51588
+ advanced route matching and routing actions are desired. The order of specifying
51589
+ routeRules matters: the first rule that matches will cause its specified routing
51590
+ action to take effect. Within a given pathMatcher, only one of pathRules or
51591
+ routeRules must be set. routeRules are not supported in UrlMaps intended for
51592
+ External load balancers.
51593
+ Structure is documented below.
51594
+ """
51595
+ return pulumi.get(self, "route_rules")
51596
+
51597
+ @route_rules.setter
51598
+ def route_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgs']]]]):
51599
+ pulumi.set(self, "route_rules", value)
51600
+
51601
+
51602
+ if not MYPY:
51603
+ class RegionUrlMapPathMatcherDefaultRouteActionArgsDict(TypedDict):
51604
+ cors_policy: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgsDict']]
51605
+ """
51606
+ The specification for allowing client side cross-origin requests. Please see
51607
+ [W3C Recommendation for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/)
51608
+ Structure is documented below.
51609
+ """
51610
+ fault_injection_policy: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgsDict']]
51611
+ """
51612
+ The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
51613
+ As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service.
51614
+ Similarly requests from clients can be aborted by the load balancer for a percentage of requests.
51615
+ timeout and retryPolicy is ignored by clients that are configured with a faultInjectionPolicy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection.
51616
+ Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: [Routing and traffic management features](https://cloud.google.com/load-balancing/docs/features#routing-traffic-management).
51617
+ Structure is documented below.
51618
+ """
51619
+ max_stream_duration: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgsDict']]
51620
+ """
51621
+ Specifies the maximum duration (timeout) for streams on the selected route.
51622
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
51623
+ has been fully processed (known as end-of-stream), the duration in this field
51624
+ is computed from the beginning of the stream until the response has been processed,
51625
+ including all retries. A stream that does not complete in this duration is closed.
51626
+ Structure is documented below.
51627
+ """
51628
+ request_mirror_policy: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgsDict']]
51629
+ """
51630
+ Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
51631
+ The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow.
51632
+ Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
51633
+ Structure is documented below.
51634
+ """
51635
+ retry_policy: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgsDict']]
51636
+ """
51637
+ Specifies the retry policy associated with this route.
51638
+ Structure is documented below.
51639
+ """
51640
+ timeout: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgsDict']]
51641
+ """
51642
+ Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as end-of-stream) up until the response has been processed. Timeout includes all retries.
51643
+ If not specified, this field uses the largest timeout among all backend services associated with the route.
51644
+ Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
51645
+ Structure is documented below.
51646
+ """
51647
+ url_rewrite: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgsDict']]
51648
+ """
51649
+ The spec to modify the URL of the request, before forwarding the request to the matched service.
51650
+ urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers.
51651
+ Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
51652
+ Structure is documented below.
51653
+ """
51654
+ weighted_backend_services: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgsDict']]]]
51655
+ """
51656
+ A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number.
51657
+ After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
51658
+ Structure is documented below.
51659
+ """
51660
+ elif False:
51661
+ RegionUrlMapPathMatcherDefaultRouteActionArgsDict: TypeAlias = Mapping[str, Any]
51662
+
51663
+ @pulumi.input_type
51664
+ class RegionUrlMapPathMatcherDefaultRouteActionArgs:
51665
+ def __init__(__self__, *,
51666
+ cors_policy: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgs']] = None,
51667
+ fault_injection_policy: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgs']] = None,
51668
+ max_stream_duration: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgs']] = None,
51669
+ request_mirror_policy: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs']] = None,
51670
+ retry_policy: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgs']] = None,
51671
+ timeout: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgs']] = None,
51672
+ url_rewrite: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgs']] = None,
51673
+ weighted_backend_services: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgs']]]] = None):
51674
+ """
51675
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgs'] cors_policy: The specification for allowing client side cross-origin requests. Please see
51676
+ [W3C Recommendation for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/)
51677
+ Structure is documented below.
51678
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgs'] fault_injection_policy: The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
51679
+ As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service.
51680
+ Similarly requests from clients can be aborted by the load balancer for a percentage of requests.
51681
+ timeout and retryPolicy is ignored by clients that are configured with a faultInjectionPolicy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection.
51682
+ Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: [Routing and traffic management features](https://cloud.google.com/load-balancing/docs/features#routing-traffic-management).
51683
+ Structure is documented below.
51684
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgs'] max_stream_duration: Specifies the maximum duration (timeout) for streams on the selected route.
51685
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
51686
+ has been fully processed (known as end-of-stream), the duration in this field
51687
+ is computed from the beginning of the stream until the response has been processed,
51688
+ including all retries. A stream that does not complete in this duration is closed.
51689
+ Structure is documented below.
51690
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs'] request_mirror_policy: Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
51691
+ The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow.
51692
+ Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
51693
+ Structure is documented below.
51694
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgs'] retry_policy: Specifies the retry policy associated with this route.
51695
+ Structure is documented below.
51696
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgs'] timeout: Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as end-of-stream) up until the response has been processed. Timeout includes all retries.
51697
+ If not specified, this field uses the largest timeout among all backend services associated with the route.
51698
+ Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
51699
+ Structure is documented below.
51700
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgs'] url_rewrite: The spec to modify the URL of the request, before forwarding the request to the matched service.
51701
+ urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers.
51702
+ Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
51703
+ Structure is documented below.
51704
+ :param pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgs']]] weighted_backend_services: A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number.
51705
+ After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
51706
+ Structure is documented below.
51707
+ """
51708
+ if cors_policy is not None:
51709
+ pulumi.set(__self__, "cors_policy", cors_policy)
51710
+ if fault_injection_policy is not None:
51711
+ pulumi.set(__self__, "fault_injection_policy", fault_injection_policy)
51712
+ if max_stream_duration is not None:
51713
+ pulumi.set(__self__, "max_stream_duration", max_stream_duration)
51714
+ if request_mirror_policy is not None:
51715
+ pulumi.set(__self__, "request_mirror_policy", request_mirror_policy)
51716
+ if retry_policy is not None:
51717
+ pulumi.set(__self__, "retry_policy", retry_policy)
51718
+ if timeout is not None:
51719
+ pulumi.set(__self__, "timeout", timeout)
51720
+ if url_rewrite is not None:
51721
+ pulumi.set(__self__, "url_rewrite", url_rewrite)
51722
+ if weighted_backend_services is not None:
51723
+ pulumi.set(__self__, "weighted_backend_services", weighted_backend_services)
51724
+
51725
+ @property
51726
+ @pulumi.getter(name="corsPolicy")
51727
+ def cors_policy(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgs']]:
51728
+ """
51729
+ The specification for allowing client side cross-origin requests. Please see
51730
+ [W3C Recommendation for Cross Origin Resource Sharing](https://www.w3.org/TR/cors/)
51731
+ Structure is documented below.
51732
+ """
51733
+ return pulumi.get(self, "cors_policy")
51734
+
51735
+ @cors_policy.setter
51736
+ def cors_policy(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgs']]):
51737
+ pulumi.set(self, "cors_policy", value)
51738
+
51739
+ @property
51740
+ @pulumi.getter(name="faultInjectionPolicy")
51741
+ def fault_injection_policy(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgs']]:
51742
+ """
51743
+ The specification for fault injection introduced into traffic to test the resiliency of clients to backend service failure.
51744
+ As part of fault injection, when clients send requests to a backend service, delays can be introduced by a load balancer on a percentage of requests before sending those requests to the backend service.
51745
+ Similarly requests from clients can be aborted by the load balancer for a percentage of requests.
51746
+ timeout and retryPolicy is ignored by clients that are configured with a faultInjectionPolicy if: 1. The traffic is generated by fault injection AND 2. The fault injection is not a delay fault injection.
51747
+ Fault injection is not supported with the global external HTTP(S) load balancer (classic). To see which load balancers support fault injection, see Load balancing: [Routing and traffic management features](https://cloud.google.com/load-balancing/docs/features#routing-traffic-management).
51748
+ Structure is documented below.
51749
+ """
51750
+ return pulumi.get(self, "fault_injection_policy")
51751
+
51752
+ @fault_injection_policy.setter
51753
+ def fault_injection_policy(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgs']]):
51754
+ pulumi.set(self, "fault_injection_policy", value)
51755
+
51756
+ @property
51757
+ @pulumi.getter(name="maxStreamDuration")
51758
+ def max_stream_duration(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgs']]:
51759
+ """
51760
+ Specifies the maximum duration (timeout) for streams on the selected route.
51761
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
51762
+ has been fully processed (known as end-of-stream), the duration in this field
51763
+ is computed from the beginning of the stream until the response has been processed,
51764
+ including all retries. A stream that does not complete in this duration is closed.
51765
+ Structure is documented below.
51766
+ """
51767
+ return pulumi.get(self, "max_stream_duration")
51768
+
51769
+ @max_stream_duration.setter
51770
+ def max_stream_duration(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgs']]):
51771
+ pulumi.set(self, "max_stream_duration", value)
51772
+
51773
+ @property
51774
+ @pulumi.getter(name="requestMirrorPolicy")
51775
+ def request_mirror_policy(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs']]:
51776
+ """
51777
+ Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
51778
+ The load balancer does not wait for responses from the shadow service. Before sending traffic to the shadow service, the host / authority header is suffixed with -shadow.
51779
+ Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
51780
+ Structure is documented below.
51781
+ """
51782
+ return pulumi.get(self, "request_mirror_policy")
51783
+
51784
+ @request_mirror_policy.setter
51785
+ def request_mirror_policy(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs']]):
51786
+ pulumi.set(self, "request_mirror_policy", value)
51787
+
51788
+ @property
51789
+ @pulumi.getter(name="retryPolicy")
51790
+ def retry_policy(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgs']]:
51791
+ """
51792
+ Specifies the retry policy associated with this route.
51793
+ Structure is documented below.
51794
+ """
51795
+ return pulumi.get(self, "retry_policy")
51796
+
51797
+ @retry_policy.setter
51798
+ def retry_policy(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgs']]):
51799
+ pulumi.set(self, "retry_policy", value)
51800
+
51801
+ @property
51802
+ @pulumi.getter
51803
+ def timeout(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgs']]:
51804
+ """
51805
+ Specifies the timeout for the selected route. Timeout is computed from the time the request has been fully processed (known as end-of-stream) up until the response has been processed. Timeout includes all retries.
51806
+ If not specified, this field uses the largest timeout among all backend services associated with the route.
51807
+ Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
51808
+ Structure is documented below.
51809
+ """
51810
+ return pulumi.get(self, "timeout")
51811
+
51812
+ @timeout.setter
51813
+ def timeout(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgs']]):
51814
+ pulumi.set(self, "timeout", value)
51815
+
51816
+ @property
51817
+ @pulumi.getter(name="urlRewrite")
51818
+ def url_rewrite(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgs']]:
51819
+ """
51820
+ The spec to modify the URL of the request, before forwarding the request to the matched service.
51821
+ urlRewrite is the only action supported in UrlMaps for external HTTP(S) load balancers.
51822
+ Not supported when the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true.
51823
+ Structure is documented below.
51824
+ """
51825
+ return pulumi.get(self, "url_rewrite")
51826
+
51827
+ @url_rewrite.setter
51828
+ def url_rewrite(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgs']]):
51829
+ pulumi.set(self, "url_rewrite", value)
51830
+
51831
+ @property
51832
+ @pulumi.getter(name="weightedBackendServices")
51833
+ def weighted_backend_services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgs']]]]:
51834
+ """
51835
+ A list of weighted backend services to send traffic to when a route match occurs. The weights determine the fraction of traffic that flows to their corresponding backend service. If all traffic needs to go to a single backend service, there must be one weightedBackendService with weight set to a non-zero number.
51836
+ After a backend service is identified and before forwarding the request to the backend service, advanced routing actions such as URL rewrites and header transformations are applied depending on additional settings specified in this HttpRouteAction.
51837
+ Structure is documented below.
51838
+ """
51839
+ return pulumi.get(self, "weighted_backend_services")
51840
+
51841
+ @weighted_backend_services.setter
51842
+ def weighted_backend_services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgs']]]]):
51843
+ pulumi.set(self, "weighted_backend_services", value)
51844
+
51845
+
51846
+ if not MYPY:
51847
+ class RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgsDict(TypedDict):
51848
+ allow_credentials: NotRequired[pulumi.Input[builtins.bool]]
51849
+ """
51850
+ In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header.
51851
+ Default is false.
51852
+ """
51853
+ allow_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
51854
+ """
51855
+ Specifies the content for the Access-Control-Allow-Headers header.
51856
+ """
51857
+ allow_methods: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
51858
+ """
51859
+ Specifies the content for the Access-Control-Allow-Methods header.
51860
+ """
51861
+ allow_origin_regexes: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
51862
+ """
51863
+ Specifies the regualar expression patterns that match allowed origins. For regular expression grammar
51864
+ please see en.cppreference.com/w/cpp/regex/ecmascript
51865
+ An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
51866
+ """
51867
+ allow_origins: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
51868
+ """
51869
+ Specifies the list of origins that will be allowed to do CORS requests.
51870
+ An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
51871
+ """
51872
+ disabled: NotRequired[pulumi.Input[builtins.bool]]
51873
+ """
51874
+ If true, the setting specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.
51875
+ """
51876
+ expose_headers: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
51877
+ """
51878
+ Specifies the content for the Access-Control-Expose-Headers header.
51879
+ """
51880
+ max_age: NotRequired[pulumi.Input[builtins.int]]
51881
+ """
51882
+ Specifies how long results of a preflight request can be cached in seconds.
51883
+ This translates to the Access-Control-Max-Age header.
51884
+ """
51885
+ elif False:
51886
+ RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgsDict: TypeAlias = Mapping[str, Any]
51887
+
51888
+ @pulumi.input_type
51889
+ class RegionUrlMapPathMatcherDefaultRouteActionCorsPolicyArgs:
51890
+ def __init__(__self__, *,
51891
+ allow_credentials: Optional[pulumi.Input[builtins.bool]] = None,
51892
+ allow_headers: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
51893
+ allow_methods: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
51894
+ allow_origin_regexes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
51895
+ allow_origins: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
51896
+ disabled: Optional[pulumi.Input[builtins.bool]] = None,
51897
+ expose_headers: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
51898
+ max_age: Optional[pulumi.Input[builtins.int]] = None):
51899
+ """
51900
+ :param pulumi.Input[builtins.bool] allow_credentials: In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header.
51901
+ Default is false.
51902
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allow_headers: Specifies the content for the Access-Control-Allow-Headers header.
51903
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allow_methods: Specifies the content for the Access-Control-Allow-Methods header.
51904
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allow_origin_regexes: Specifies the regualar expression patterns that match allowed origins. For regular expression grammar
51905
+ please see en.cppreference.com/w/cpp/regex/ecmascript
51906
+ An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
51907
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allow_origins: Specifies the list of origins that will be allowed to do CORS requests.
51908
+ An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
51909
+ :param pulumi.Input[builtins.bool] disabled: If true, the setting specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.
51910
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] expose_headers: Specifies the content for the Access-Control-Expose-Headers header.
51911
+ :param pulumi.Input[builtins.int] max_age: Specifies how long results of a preflight request can be cached in seconds.
51912
+ This translates to the Access-Control-Max-Age header.
51913
+ """
51914
+ if allow_credentials is not None:
51915
+ pulumi.set(__self__, "allow_credentials", allow_credentials)
51916
+ if allow_headers is not None:
51917
+ pulumi.set(__self__, "allow_headers", allow_headers)
51918
+ if allow_methods is not None:
51919
+ pulumi.set(__self__, "allow_methods", allow_methods)
51920
+ if allow_origin_regexes is not None:
51921
+ pulumi.set(__self__, "allow_origin_regexes", allow_origin_regexes)
51922
+ if allow_origins is not None:
51923
+ pulumi.set(__self__, "allow_origins", allow_origins)
51924
+ if disabled is not None:
51925
+ pulumi.set(__self__, "disabled", disabled)
51926
+ if expose_headers is not None:
51927
+ pulumi.set(__self__, "expose_headers", expose_headers)
51928
+ if max_age is not None:
51929
+ pulumi.set(__self__, "max_age", max_age)
51930
+
51931
+ @property
51932
+ @pulumi.getter(name="allowCredentials")
51933
+ def allow_credentials(self) -> Optional[pulumi.Input[builtins.bool]]:
51934
+ """
51935
+ In response to a preflight request, setting this to true indicates that the actual request can include user credentials. This field translates to the Access-Control-Allow-Credentials header.
51936
+ Default is false.
51937
+ """
51938
+ return pulumi.get(self, "allow_credentials")
51939
+
51940
+ @allow_credentials.setter
51941
+ def allow_credentials(self, value: Optional[pulumi.Input[builtins.bool]]):
51942
+ pulumi.set(self, "allow_credentials", value)
51943
+
51944
+ @property
51945
+ @pulumi.getter(name="allowHeaders")
51946
+ def allow_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
51947
+ """
51948
+ Specifies the content for the Access-Control-Allow-Headers header.
51949
+ """
51950
+ return pulumi.get(self, "allow_headers")
51951
+
51952
+ @allow_headers.setter
51953
+ def allow_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
51954
+ pulumi.set(self, "allow_headers", value)
51955
+
51956
+ @property
51957
+ @pulumi.getter(name="allowMethods")
51958
+ def allow_methods(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
51959
+ """
51960
+ Specifies the content for the Access-Control-Allow-Methods header.
51961
+ """
51962
+ return pulumi.get(self, "allow_methods")
51963
+
51964
+ @allow_methods.setter
51965
+ def allow_methods(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
51966
+ pulumi.set(self, "allow_methods", value)
51967
+
51968
+ @property
51969
+ @pulumi.getter(name="allowOriginRegexes")
51970
+ def allow_origin_regexes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
51971
+ """
51972
+ Specifies the regualar expression patterns that match allowed origins. For regular expression grammar
51973
+ please see en.cppreference.com/w/cpp/regex/ecmascript
51974
+ An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
51975
+ """
51976
+ return pulumi.get(self, "allow_origin_regexes")
51977
+
51978
+ @allow_origin_regexes.setter
51979
+ def allow_origin_regexes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
51980
+ pulumi.set(self, "allow_origin_regexes", value)
51981
+
51982
+ @property
51983
+ @pulumi.getter(name="allowOrigins")
51984
+ def allow_origins(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
51985
+ """
51986
+ Specifies the list of origins that will be allowed to do CORS requests.
51987
+ An origin is allowed if it matches either an item in allowOrigins or an item in allowOriginRegexes.
51988
+ """
51989
+ return pulumi.get(self, "allow_origins")
51990
+
51991
+ @allow_origins.setter
51992
+ def allow_origins(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
51993
+ pulumi.set(self, "allow_origins", value)
51994
+
51995
+ @property
51996
+ @pulumi.getter
51997
+ def disabled(self) -> Optional[pulumi.Input[builtins.bool]]:
51998
+ """
51999
+ If true, the setting specifies the CORS policy is disabled. The default value of false, which indicates that the CORS policy is in effect.
52000
+ """
52001
+ return pulumi.get(self, "disabled")
52002
+
52003
+ @disabled.setter
52004
+ def disabled(self, value: Optional[pulumi.Input[builtins.bool]]):
52005
+ pulumi.set(self, "disabled", value)
52006
+
52007
+ @property
52008
+ @pulumi.getter(name="exposeHeaders")
52009
+ def expose_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
52010
+ """
52011
+ Specifies the content for the Access-Control-Expose-Headers header.
52012
+ """
52013
+ return pulumi.get(self, "expose_headers")
52014
+
52015
+ @expose_headers.setter
52016
+ def expose_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
52017
+ pulumi.set(self, "expose_headers", value)
52018
+
52019
+ @property
52020
+ @pulumi.getter(name="maxAge")
52021
+ def max_age(self) -> Optional[pulumi.Input[builtins.int]]:
52022
+ """
52023
+ Specifies how long results of a preflight request can be cached in seconds.
52024
+ This translates to the Access-Control-Max-Age header.
52025
+ """
52026
+ return pulumi.get(self, "max_age")
52027
+
52028
+ @max_age.setter
52029
+ def max_age(self, value: Optional[pulumi.Input[builtins.int]]):
52030
+ pulumi.set(self, "max_age", value)
52031
+
52032
+
52033
+ if not MYPY:
52034
+ class RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgsDict(TypedDict):
52035
+ abort: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgsDict']]
52036
+ """
52037
+ The specification for how client requests are aborted as part of fault injection.
52038
+ Structure is documented below.
52039
+ """
52040
+ delay: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgsDict']]
52041
+ """
52042
+ The specification for how client requests are delayed as part of fault injection, before being sent to a backend service.
52043
+ Structure is documented below.
52044
+ """
52045
+ elif False:
52046
+ RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgsDict: TypeAlias = Mapping[str, Any]
52047
+
52048
+ @pulumi.input_type
52049
+ class RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgs:
52050
+ def __init__(__self__, *,
52051
+ abort: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgs']] = None,
52052
+ delay: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgs']] = None):
52053
+ """
52054
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgs'] abort: The specification for how client requests are aborted as part of fault injection.
52055
+ Structure is documented below.
52056
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgs'] delay: The specification for how client requests are delayed as part of fault injection, before being sent to a backend service.
52057
+ Structure is documented below.
52058
+ """
52059
+ if abort is not None:
52060
+ pulumi.set(__self__, "abort", abort)
52061
+ if delay is not None:
52062
+ pulumi.set(__self__, "delay", delay)
52063
+
52064
+ @property
52065
+ @pulumi.getter
52066
+ def abort(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgs']]:
52067
+ """
52068
+ The specification for how client requests are aborted as part of fault injection.
52069
+ Structure is documented below.
52070
+ """
52071
+ return pulumi.get(self, "abort")
52072
+
52073
+ @abort.setter
52074
+ def abort(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgs']]):
52075
+ pulumi.set(self, "abort", value)
52076
+
52077
+ @property
52078
+ @pulumi.getter
52079
+ def delay(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgs']]:
52080
+ """
52081
+ The specification for how client requests are delayed as part of fault injection, before being sent to a backend service.
52082
+ Structure is documented below.
52083
+ """
52084
+ return pulumi.get(self, "delay")
52085
+
52086
+ @delay.setter
52087
+ def delay(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgs']]):
52088
+ pulumi.set(self, "delay", value)
52089
+
52090
+
52091
+ if not MYPY:
52092
+ class RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgsDict(TypedDict):
52093
+ http_status: NotRequired[pulumi.Input[builtins.int]]
52094
+ """
52095
+ The HTTP status code used to abort the request.
52096
+ The value must be between 200 and 599 inclusive.
52097
+ """
52098
+ percentage: NotRequired[pulumi.Input[builtins.float]]
52099
+ """
52100
+ The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
52101
+ The value must be between 0.0 and 100.0 inclusive.
52102
+ """
52103
+ elif False:
52104
+ RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgsDict: TypeAlias = Mapping[str, Any]
52105
+
52106
+ @pulumi.input_type
52107
+ class RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyAbortArgs:
52108
+ def __init__(__self__, *,
52109
+ http_status: Optional[pulumi.Input[builtins.int]] = None,
52110
+ percentage: Optional[pulumi.Input[builtins.float]] = None):
52111
+ """
52112
+ :param pulumi.Input[builtins.int] http_status: The HTTP status code used to abort the request.
52113
+ The value must be between 200 and 599 inclusive.
52114
+ :param pulumi.Input[builtins.float] percentage: The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
52115
+ The value must be between 0.0 and 100.0 inclusive.
52116
+ """
52117
+ if http_status is not None:
52118
+ pulumi.set(__self__, "http_status", http_status)
52119
+ if percentage is not None:
52120
+ pulumi.set(__self__, "percentage", percentage)
52121
+
52122
+ @property
52123
+ @pulumi.getter(name="httpStatus")
52124
+ def http_status(self) -> Optional[pulumi.Input[builtins.int]]:
52125
+ """
52126
+ The HTTP status code used to abort the request.
52127
+ The value must be between 200 and 599 inclusive.
52128
+ """
52129
+ return pulumi.get(self, "http_status")
52130
+
52131
+ @http_status.setter
52132
+ def http_status(self, value: Optional[pulumi.Input[builtins.int]]):
52133
+ pulumi.set(self, "http_status", value)
52134
+
52135
+ @property
52136
+ @pulumi.getter
52137
+ def percentage(self) -> Optional[pulumi.Input[builtins.float]]:
52138
+ """
52139
+ The percentage of traffic (connections/operations/requests) which will be aborted as part of fault injection.
52140
+ The value must be between 0.0 and 100.0 inclusive.
52141
+ """
52142
+ return pulumi.get(self, "percentage")
52143
+
52144
+ @percentage.setter
52145
+ def percentage(self, value: Optional[pulumi.Input[builtins.float]]):
52146
+ pulumi.set(self, "percentage", value)
52147
+
52148
+
52149
+ if not MYPY:
52150
+ class RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgsDict(TypedDict):
52151
+ fixed_delay: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgsDict']]
52152
+ """
52153
+ Specifies the value of the fixed delay interval.
52154
+ Structure is documented below.
52155
+ """
52156
+ percentage: NotRequired[pulumi.Input[builtins.float]]
52157
+ """
52158
+ The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.
52159
+ The value must be between 0.0 and 100.0 inclusive.
52160
+ """
52161
+ elif False:
52162
+ RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgsDict: TypeAlias = Mapping[str, Any]
52163
+
52164
+ @pulumi.input_type
52165
+ class RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgs:
52166
+ def __init__(__self__, *,
52167
+ fixed_delay: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs']] = None,
52168
+ percentage: Optional[pulumi.Input[builtins.float]] = None):
52169
+ """
52170
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs'] fixed_delay: Specifies the value of the fixed delay interval.
52171
+ Structure is documented below.
52172
+ :param pulumi.Input[builtins.float] percentage: The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.
52173
+ The value must be between 0.0 and 100.0 inclusive.
52174
+ """
52175
+ if fixed_delay is not None:
52176
+ pulumi.set(__self__, "fixed_delay", fixed_delay)
52177
+ if percentage is not None:
52178
+ pulumi.set(__self__, "percentage", percentage)
52179
+
52180
+ @property
52181
+ @pulumi.getter(name="fixedDelay")
52182
+ def fixed_delay(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs']]:
52183
+ """
52184
+ Specifies the value of the fixed delay interval.
52185
+ Structure is documented below.
52186
+ """
52187
+ return pulumi.get(self, "fixed_delay")
52188
+
52189
+ @fixed_delay.setter
52190
+ def fixed_delay(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs']]):
52191
+ pulumi.set(self, "fixed_delay", value)
52192
+
52193
+ @property
52194
+ @pulumi.getter
52195
+ def percentage(self) -> Optional[pulumi.Input[builtins.float]]:
52196
+ """
52197
+ The percentage of traffic (connections/operations/requests) on which delay will be introduced as part of fault injection.
52198
+ The value must be between 0.0 and 100.0 inclusive.
52199
+ """
52200
+ return pulumi.get(self, "percentage")
52201
+
52202
+ @percentage.setter
52203
+ def percentage(self, value: Optional[pulumi.Input[builtins.float]]):
52204
+ pulumi.set(self, "percentage", value)
52205
+
52206
+
52207
+ if not MYPY:
52208
+ class RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgsDict(TypedDict):
52209
+ nanos: NotRequired[pulumi.Input[builtins.int]]
52210
+ """
52211
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
52212
+ represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52213
+ """
52214
+ seconds: NotRequired[pulumi.Input[builtins.str]]
52215
+ """
52216
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52217
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52218
+ """
52219
+ elif False:
52220
+ RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgsDict: TypeAlias = Mapping[str, Any]
52221
+
52222
+ @pulumi.input_type
52223
+ class RegionUrlMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs:
52224
+ def __init__(__self__, *,
52225
+ nanos: Optional[pulumi.Input[builtins.int]] = None,
52226
+ seconds: Optional[pulumi.Input[builtins.str]] = None):
52227
+ """
52228
+ :param pulumi.Input[builtins.int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
52229
+ represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52230
+ :param pulumi.Input[builtins.str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52231
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52232
+ """
52233
+ if nanos is not None:
52234
+ pulumi.set(__self__, "nanos", nanos)
52235
+ if seconds is not None:
52236
+ pulumi.set(__self__, "seconds", seconds)
52237
+
52238
+ @property
52239
+ @pulumi.getter
52240
+ def nanos(self) -> Optional[pulumi.Input[builtins.int]]:
52241
+ """
52242
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
52243
+ represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52244
+ """
52245
+ return pulumi.get(self, "nanos")
52246
+
52247
+ @nanos.setter
52248
+ def nanos(self, value: Optional[pulumi.Input[builtins.int]]):
52249
+ pulumi.set(self, "nanos", value)
52250
+
52251
+ @property
52252
+ @pulumi.getter
52253
+ def seconds(self) -> Optional[pulumi.Input[builtins.str]]:
52254
+ """
52255
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52256
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52257
+ """
52258
+ return pulumi.get(self, "seconds")
52259
+
52260
+ @seconds.setter
52261
+ def seconds(self, value: Optional[pulumi.Input[builtins.str]]):
52262
+ pulumi.set(self, "seconds", value)
52263
+
52264
+
52265
+ if not MYPY:
52266
+ class RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgsDict(TypedDict):
52267
+ seconds: pulumi.Input[builtins.str]
52268
+ """
52269
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52270
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52271
+ """
52272
+ nanos: NotRequired[pulumi.Input[builtins.int]]
52273
+ """
52274
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
52275
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52276
+ """
52277
+ elif False:
52278
+ RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgsDict: TypeAlias = Mapping[str, Any]
52279
+
52280
+ @pulumi.input_type
52281
+ class RegionUrlMapPathMatcherDefaultRouteActionMaxStreamDurationArgs:
52282
+ def __init__(__self__, *,
52283
+ seconds: pulumi.Input[builtins.str],
52284
+ nanos: Optional[pulumi.Input[builtins.int]] = None):
52285
+ """
52286
+ :param pulumi.Input[builtins.str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52287
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52288
+ :param pulumi.Input[builtins.int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
52289
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52290
+ """
52291
+ pulumi.set(__self__, "seconds", seconds)
52292
+ if nanos is not None:
52293
+ pulumi.set(__self__, "nanos", nanos)
52294
+
52295
+ @property
52296
+ @pulumi.getter
52297
+ def seconds(self) -> pulumi.Input[builtins.str]:
52298
+ """
52299
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52300
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52301
+ """
52302
+ return pulumi.get(self, "seconds")
52303
+
52304
+ @seconds.setter
52305
+ def seconds(self, value: pulumi.Input[builtins.str]):
52306
+ pulumi.set(self, "seconds", value)
52307
+
52308
+ @property
52309
+ @pulumi.getter
52310
+ def nanos(self) -> Optional[pulumi.Input[builtins.int]]:
52311
+ """
52312
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
52313
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52314
+ """
52315
+ return pulumi.get(self, "nanos")
52316
+
52317
+ @nanos.setter
52318
+ def nanos(self, value: Optional[pulumi.Input[builtins.int]]):
52319
+ pulumi.set(self, "nanos", value)
52320
+
52321
+
52322
+ if not MYPY:
52323
+ class RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgsDict(TypedDict):
52324
+ backend_service: pulumi.Input[builtins.str]
52325
+ """
52326
+ The full or partial URL to the RegionBackendService resource being mirrored to.
52327
+ The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
52328
+ Serverless NEG backends are not currently supported as a mirrored backend service.
52329
+ """
52330
+ elif False:
52331
+ RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgsDict: TypeAlias = Mapping[str, Any]
52332
+
52333
+ @pulumi.input_type
52334
+ class RegionUrlMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs:
52335
+ def __init__(__self__, *,
52336
+ backend_service: pulumi.Input[builtins.str]):
52337
+ """
52338
+ :param pulumi.Input[builtins.str] backend_service: The full or partial URL to the RegionBackendService resource being mirrored to.
52339
+ The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
52340
+ Serverless NEG backends are not currently supported as a mirrored backend service.
52341
+ """
52342
+ pulumi.set(__self__, "backend_service", backend_service)
52343
+
52344
+ @property
52345
+ @pulumi.getter(name="backendService")
52346
+ def backend_service(self) -> pulumi.Input[builtins.str]:
52347
+ """
52348
+ The full or partial URL to the RegionBackendService resource being mirrored to.
52349
+ The backend service configured for a mirroring policy must reference backends that are of the same type as the original backend service matched in the URL map.
52350
+ Serverless NEG backends are not currently supported as a mirrored backend service.
52351
+ """
52352
+ return pulumi.get(self, "backend_service")
52353
+
52354
+ @backend_service.setter
52355
+ def backend_service(self, value: pulumi.Input[builtins.str]):
52356
+ pulumi.set(self, "backend_service", value)
52357
+
52358
+
52359
+ if not MYPY:
52360
+ class RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgsDict(TypedDict):
52361
+ num_retries: NotRequired[pulumi.Input[builtins.int]]
52362
+ """
52363
+ Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.
52364
+ """
52365
+ per_try_timeout: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgsDict']]
52366
+ """
52367
+ Specifies a non-zero timeout per retry attempt.
52368
+ If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
52369
+ will use the largest timeout among all backend services associated with the route.
52370
+ Structure is documented below.
52371
+ """
52372
+ retry_conditions: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
52373
+ """
52374
+ Specifies one or more conditions when this retry policy applies.
52375
+ Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
52376
+ - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
52377
+ - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
52378
+ - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
52379
+ - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
52380
+ - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
52381
+ - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
52382
+ - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
52383
+ - internal : a retry is attempted if the gRPC status code in the response header is set to internal.
52384
+ - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
52385
+ - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
52386
+ """
52387
+ elif False:
52388
+ RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgsDict: TypeAlias = Mapping[str, Any]
52389
+
52390
+ @pulumi.input_type
52391
+ class RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyArgs:
52392
+ def __init__(__self__, *,
52393
+ num_retries: Optional[pulumi.Input[builtins.int]] = None,
52394
+ per_try_timeout: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgs']] = None,
52395
+ retry_conditions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
52396
+ """
52397
+ :param pulumi.Input[builtins.int] num_retries: Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.
52398
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgs'] per_try_timeout: Specifies a non-zero timeout per retry attempt.
52399
+ If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
52400
+ will use the largest timeout among all backend services associated with the route.
52401
+ Structure is documented below.
52402
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] retry_conditions: Specifies one or more conditions when this retry policy applies.
52403
+ Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
52404
+ - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
52405
+ - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
52406
+ - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
52407
+ - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
52408
+ - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
52409
+ - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
52410
+ - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
52411
+ - internal : a retry is attempted if the gRPC status code in the response header is set to internal.
52412
+ - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
52413
+ - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
52414
+ """
52415
+ if num_retries is not None:
52416
+ pulumi.set(__self__, "num_retries", num_retries)
52417
+ if per_try_timeout is not None:
52418
+ pulumi.set(__self__, "per_try_timeout", per_try_timeout)
52419
+ if retry_conditions is not None:
52420
+ pulumi.set(__self__, "retry_conditions", retry_conditions)
52421
+
52422
+ @property
52423
+ @pulumi.getter(name="numRetries")
52424
+ def num_retries(self) -> Optional[pulumi.Input[builtins.int]]:
52425
+ """
52426
+ Specifies the allowed number retries. This number must be > 0. If not specified, defaults to 1.
52427
+ """
52428
+ return pulumi.get(self, "num_retries")
52429
+
52430
+ @num_retries.setter
52431
+ def num_retries(self, value: Optional[pulumi.Input[builtins.int]]):
52432
+ pulumi.set(self, "num_retries", value)
52433
+
52434
+ @property
52435
+ @pulumi.getter(name="perTryTimeout")
52436
+ def per_try_timeout(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgs']]:
52437
+ """
52438
+ Specifies a non-zero timeout per retry attempt.
52439
+ If not specified, will use the timeout set in HttpRouteAction. If timeout in HttpRouteAction is not set,
52440
+ will use the largest timeout among all backend services associated with the route.
52441
+ Structure is documented below.
52442
+ """
52443
+ return pulumi.get(self, "per_try_timeout")
52444
+
52445
+ @per_try_timeout.setter
52446
+ def per_try_timeout(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgs']]):
52447
+ pulumi.set(self, "per_try_timeout", value)
52448
+
52449
+ @property
52450
+ @pulumi.getter(name="retryConditions")
52451
+ def retry_conditions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
52452
+ """
52453
+ Specifies one or more conditions when this retry policy applies.
52454
+ Valid values are listed below. Only the following codes are supported when the URL map is bound to target gRPC proxy that has validateForProxyless field set to true: cancelled, deadline-exceeded, internal, resource-exhausted, unavailable.
52455
+ - 5xx : retry is attempted if the instance or endpoint responds with any 5xx response code, or if the instance or endpoint does not respond at all. For example, disconnects, reset, read timeout, connection failure, and refused streams.
52456
+ - gateway-error : Similar to 5xx, but only applies to response codes 502, 503 or 504.
52457
+ - connect-failure : a retry is attempted on failures connecting to the instance or endpoint. For example, connection timeouts.
52458
+ - retriable-4xx : a retry is attempted if the instance or endpoint responds with a 4xx response code. The only error that you can retry is error code 409.
52459
+ - refused-stream : a retry is attempted if the instance or endpoint resets the stream with a REFUSED_STREAM error code. This reset type indicates that it is safe to retry.
52460
+ - cancelled : a retry is attempted if the gRPC status code in the response header is set to cancelled.
52461
+ - deadline-exceeded : a retry is attempted if the gRPC status code in the response header is set to deadline-exceeded.
52462
+ - internal : a retry is attempted if the gRPC status code in the response header is set to internal.
52463
+ - resource-exhausted : a retry is attempted if the gRPC status code in the response header is set to resource-exhausted.
52464
+ - unavailable : a retry is attempted if the gRPC status code in the response header is set to unavailable.
52465
+ """
52466
+ return pulumi.get(self, "retry_conditions")
52467
+
52468
+ @retry_conditions.setter
52469
+ def retry_conditions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
52470
+ pulumi.set(self, "retry_conditions", value)
52471
+
52472
+
52473
+ if not MYPY:
52474
+ class RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgsDict(TypedDict):
52475
+ nanos: NotRequired[pulumi.Input[builtins.int]]
52476
+ """
52477
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
52478
+ represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52479
+ """
52480
+ seconds: NotRequired[pulumi.Input[builtins.str]]
52481
+ """
52482
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52483
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52484
+ """
52485
+ elif False:
52486
+ RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgsDict: TypeAlias = Mapping[str, Any]
52487
+
52488
+ @pulumi.input_type
52489
+ class RegionUrlMapPathMatcherDefaultRouteActionRetryPolicyPerTryTimeoutArgs:
52490
+ def __init__(__self__, *,
52491
+ nanos: Optional[pulumi.Input[builtins.int]] = None,
52492
+ seconds: Optional[pulumi.Input[builtins.str]] = None):
52493
+ """
52494
+ :param pulumi.Input[builtins.int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
52495
+ represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52496
+ :param pulumi.Input[builtins.str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52497
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52498
+ """
52499
+ if nanos is not None:
52500
+ pulumi.set(__self__, "nanos", nanos)
52501
+ if seconds is not None:
52502
+ pulumi.set(__self__, "seconds", seconds)
52503
+
52504
+ @property
52505
+ @pulumi.getter
52506
+ def nanos(self) -> Optional[pulumi.Input[builtins.int]]:
52507
+ """
52508
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are
52509
+ represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52510
+ """
52511
+ return pulumi.get(self, "nanos")
52512
+
52513
+ @nanos.setter
52514
+ def nanos(self, value: Optional[pulumi.Input[builtins.int]]):
52515
+ pulumi.set(self, "nanos", value)
52516
+
52517
+ @property
52518
+ @pulumi.getter
52519
+ def seconds(self) -> Optional[pulumi.Input[builtins.str]]:
52520
+ """
52521
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
52522
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52523
+ """
52524
+ return pulumi.get(self, "seconds")
52525
+
52526
+ @seconds.setter
52527
+ def seconds(self, value: Optional[pulumi.Input[builtins.str]]):
52528
+ pulumi.set(self, "seconds", value)
52529
+
52530
+
52531
+ if not MYPY:
52532
+ class RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgsDict(TypedDict):
52533
+ nanos: NotRequired[pulumi.Input[builtins.int]]
52534
+ """
52535
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52536
+ """
52537
+ seconds: NotRequired[pulumi.Input[builtins.str]]
52538
+ """
52539
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52540
+ """
52541
+ elif False:
52542
+ RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgsDict: TypeAlias = Mapping[str, Any]
52543
+
52544
+ @pulumi.input_type
52545
+ class RegionUrlMapPathMatcherDefaultRouteActionTimeoutArgs:
52546
+ def __init__(__self__, *,
52547
+ nanos: Optional[pulumi.Input[builtins.int]] = None,
52548
+ seconds: Optional[pulumi.Input[builtins.str]] = None):
52549
+ """
52550
+ :param pulumi.Input[builtins.int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52551
+ :param pulumi.Input[builtins.str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52552
+ """
52553
+ if nanos is not None:
52554
+ pulumi.set(__self__, "nanos", nanos)
52555
+ if seconds is not None:
52556
+ pulumi.set(__self__, "seconds", seconds)
52557
+
52558
+ @property
52559
+ @pulumi.getter
52560
+ def nanos(self) -> Optional[pulumi.Input[builtins.int]]:
52561
+ """
52562
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
52563
+ """
52564
+ return pulumi.get(self, "nanos")
52565
+
52566
+ @nanos.setter
52567
+ def nanos(self, value: Optional[pulumi.Input[builtins.int]]):
52568
+ pulumi.set(self, "nanos", value)
52569
+
52570
+ @property
52571
+ @pulumi.getter
52572
+ def seconds(self) -> Optional[pulumi.Input[builtins.str]]:
52573
+ """
52574
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive. Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
52575
+ """
52576
+ return pulumi.get(self, "seconds")
52577
+
52578
+ @seconds.setter
52579
+ def seconds(self, value: Optional[pulumi.Input[builtins.str]]):
52580
+ pulumi.set(self, "seconds", value)
52581
+
52582
+
52583
+ if not MYPY:
52584
+ class RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgsDict(TypedDict):
52585
+ host_rewrite: NotRequired[pulumi.Input[builtins.str]]
52586
+ """
52587
+ Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.
52588
+ The value must be from 1 to 255 characters.
52589
+ """
52590
+ path_prefix_rewrite: NotRequired[pulumi.Input[builtins.str]]
52591
+ """
52592
+ Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.
52593
+ The value must be from 1 to 1024 characters.
52594
+ """
52595
+ path_template_rewrite: NotRequired[pulumi.Input[builtins.str]]
52596
+ """
52597
+ If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax.
52598
+ A corresponding pathTemplateMatch must be specified. Any template variables must exist in the pathTemplateMatch field.
52599
+ * At least one variable must be specified in the pathTemplateMatch field
52600
+ * You can omit variables from the rewritten URL
52601
+ * The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}.
52602
+ For example, a pathTemplateMatch of /static/{format=**} could be rewritten as /static/content/{format} to prefix
52603
+ /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be
52604
+ rewritten as /content/{format}/{country}/{suffix}.
52605
+ At least one non-empty routeRules[].matchRules[].path_template_match is required.
52606
+ Only one of pathPrefixRewrite or pathTemplateRewrite may be specified.
52607
+ """
52608
+ elif False:
52609
+ RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgsDict: TypeAlias = Mapping[str, Any]
52610
+
52611
+ @pulumi.input_type
52612
+ class RegionUrlMapPathMatcherDefaultRouteActionUrlRewriteArgs:
52613
+ def __init__(__self__, *,
52614
+ host_rewrite: Optional[pulumi.Input[builtins.str]] = None,
52615
+ path_prefix_rewrite: Optional[pulumi.Input[builtins.str]] = None,
52616
+ path_template_rewrite: Optional[pulumi.Input[builtins.str]] = None):
52617
+ """
52618
+ :param pulumi.Input[builtins.str] host_rewrite: Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.
52619
+ The value must be from 1 to 255 characters.
52620
+ :param pulumi.Input[builtins.str] path_prefix_rewrite: Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.
52621
+ The value must be from 1 to 1024 characters.
52622
+ :param pulumi.Input[builtins.str] path_template_rewrite: If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax.
52623
+ A corresponding pathTemplateMatch must be specified. Any template variables must exist in the pathTemplateMatch field.
52624
+ * At least one variable must be specified in the pathTemplateMatch field
52625
+ * You can omit variables from the rewritten URL
52626
+ * The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}.
52627
+ For example, a pathTemplateMatch of /static/{format=**} could be rewritten as /static/content/{format} to prefix
52628
+ /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be
52629
+ rewritten as /content/{format}/{country}/{suffix}.
52630
+ At least one non-empty routeRules[].matchRules[].path_template_match is required.
52631
+ Only one of pathPrefixRewrite or pathTemplateRewrite may be specified.
52632
+ """
52633
+ if host_rewrite is not None:
52634
+ pulumi.set(__self__, "host_rewrite", host_rewrite)
52635
+ if path_prefix_rewrite is not None:
52636
+ pulumi.set(__self__, "path_prefix_rewrite", path_prefix_rewrite)
52637
+ if path_template_rewrite is not None:
52638
+ pulumi.set(__self__, "path_template_rewrite", path_template_rewrite)
52639
+
52640
+ @property
52641
+ @pulumi.getter(name="hostRewrite")
52642
+ def host_rewrite(self) -> Optional[pulumi.Input[builtins.str]]:
52643
+ """
52644
+ Before forwarding the request to the selected service, the request's host header is replaced with contents of hostRewrite.
52645
+ The value must be from 1 to 255 characters.
52646
+ """
52647
+ return pulumi.get(self, "host_rewrite")
52648
+
52649
+ @host_rewrite.setter
52650
+ def host_rewrite(self, value: Optional[pulumi.Input[builtins.str]]):
52651
+ pulumi.set(self, "host_rewrite", value)
52652
+
52653
+ @property
52654
+ @pulumi.getter(name="pathPrefixRewrite")
52655
+ def path_prefix_rewrite(self) -> Optional[pulumi.Input[builtins.str]]:
52656
+ """
52657
+ Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.
52658
+ The value must be from 1 to 1024 characters.
52659
+ """
52660
+ return pulumi.get(self, "path_prefix_rewrite")
52661
+
52662
+ @path_prefix_rewrite.setter
52663
+ def path_prefix_rewrite(self, value: Optional[pulumi.Input[builtins.str]]):
52664
+ pulumi.set(self, "path_prefix_rewrite", value)
52665
+
52666
+ @property
52667
+ @pulumi.getter(name="pathTemplateRewrite")
52668
+ def path_template_rewrite(self) -> Optional[pulumi.Input[builtins.str]]:
52669
+ """
52670
+ If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax.
52671
+ A corresponding pathTemplateMatch must be specified. Any template variables must exist in the pathTemplateMatch field.
52672
+ * At least one variable must be specified in the pathTemplateMatch field
52673
+ * You can omit variables from the rewritten URL
52674
+ * The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}.
52675
+ For example, a pathTemplateMatch of /static/{format=**} could be rewritten as /static/content/{format} to prefix
52676
+ /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be
52677
+ rewritten as /content/{format}/{country}/{suffix}.
52678
+ At least one non-empty routeRules[].matchRules[].path_template_match is required.
52679
+ Only one of pathPrefixRewrite or pathTemplateRewrite may be specified.
52680
+ """
52681
+ return pulumi.get(self, "path_template_rewrite")
52682
+
52683
+ @path_template_rewrite.setter
52684
+ def path_template_rewrite(self, value: Optional[pulumi.Input[builtins.str]]):
52685
+ pulumi.set(self, "path_template_rewrite", value)
52686
+
52687
+
52688
+ if not MYPY:
52689
+ class RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgsDict(TypedDict):
52690
+ backend_service: NotRequired[pulumi.Input[builtins.str]]
52691
+ """
52692
+ The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of this backendServiceWeight.
52693
+ """
52694
+ header_action: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgsDict']]
52695
+ """
52696
+ Specifies changes to request and response headers that need to take effect for the selected backendService.
52697
+ headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
52698
+ headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL.
52699
+ Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
52700
+ Structure is documented below.
52701
+ """
52702
+ weight: NotRequired[pulumi.Input[builtins.int]]
52703
+ """
52704
+ Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) .
52705
+ The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy.
52706
+ The value must be from 0 to 1000.
52707
+ """
52708
+ elif False:
52709
+ RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgsDict: TypeAlias = Mapping[str, Any]
52710
+
52711
+ @pulumi.input_type
52712
+ class RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceArgs:
52713
+ def __init__(__self__, *,
52714
+ backend_service: Optional[pulumi.Input[builtins.str]] = None,
52715
+ header_action: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgs']] = None,
52716
+ weight: Optional[pulumi.Input[builtins.int]] = None):
52717
+ """
52718
+ :param pulumi.Input[builtins.str] backend_service: The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of this backendServiceWeight.
52719
+ :param pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgs'] header_action: Specifies changes to request and response headers that need to take effect for the selected backendService.
52720
+ headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
52721
+ headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL.
52722
+ Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
52723
+ Structure is documented below.
52724
+ :param pulumi.Input[builtins.int] weight: Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) .
52725
+ The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy.
52726
+ The value must be from 0 to 1000.
52727
+ """
52728
+ if backend_service is not None:
52729
+ pulumi.set(__self__, "backend_service", backend_service)
52730
+ if header_action is not None:
52731
+ pulumi.set(__self__, "header_action", header_action)
52732
+ if weight is not None:
52733
+ pulumi.set(__self__, "weight", weight)
52734
+
52735
+ @property
52736
+ @pulumi.getter(name="backendService")
52737
+ def backend_service(self) -> Optional[pulumi.Input[builtins.str]]:
52738
+ """
52739
+ The full or partial URL to the default BackendService resource. Before forwarding the request to backendService, the load balancer applies any relevant headerActions specified as part of this backendServiceWeight.
52740
+ """
52741
+ return pulumi.get(self, "backend_service")
52742
+
52743
+ @backend_service.setter
52744
+ def backend_service(self, value: Optional[pulumi.Input[builtins.str]]):
52745
+ pulumi.set(self, "backend_service", value)
52746
+
52747
+ @property
52748
+ @pulumi.getter(name="headerAction")
52749
+ def header_action(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgs']]:
52750
+ """
52751
+ Specifies changes to request and response headers that need to take effect for the selected backendService.
52752
+ headerAction specified here take effect before headerAction in the enclosing HttpRouteRule, PathMatcher and UrlMap.
52753
+ headerAction is not supported for load balancers that have their loadBalancingScheme set to EXTERNAL.
52754
+ Not supported when the URL map is bound to a target gRPC proxy that has validateForProxyless field set to true.
52755
+ Structure is documented below.
52756
+ """
52757
+ return pulumi.get(self, "header_action")
52758
+
52759
+ @header_action.setter
52760
+ def header_action(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgs']]):
52761
+ pulumi.set(self, "header_action", value)
52762
+
52763
+ @property
52764
+ @pulumi.getter
52765
+ def weight(self) -> Optional[pulumi.Input[builtins.int]]:
52766
+ """
52767
+ Specifies the fraction of traffic sent to a backend service, computed as weight / (sum of all weightedBackendService weights in routeAction) .
52768
+ The selection of a backend service is determined only for new traffic. Once a user's request has been directed to a backend service, subsequent requests are sent to the same backend service as determined by the backend service's session affinity policy.
52769
+ The value must be from 0 to 1000.
52770
+ """
52771
+ return pulumi.get(self, "weight")
52772
+
52773
+ @weight.setter
52774
+ def weight(self, value: Optional[pulumi.Input[builtins.int]]):
52775
+ pulumi.set(self, "weight", value)
52776
+
52777
+
52778
+ if not MYPY:
52779
+ class RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgsDict(TypedDict):
52780
+ request_headers_to_adds: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgsDict']]]]
52781
+ """
52782
+ Headers to add to a matching request before forwarding the request to the backendService.
52783
+ Structure is documented below.
52784
+ """
52785
+ request_headers_to_removes: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
52786
+ """
52787
+ A list of header names for headers that need to be removed from the request before forwarding the request to the backendService.
52788
+ """
52789
+ response_headers_to_adds: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgsDict']]]]
52790
+ """
52791
+ Headers to add the response before sending the response back to the client.
52792
+ Structure is documented below.
52793
+ """
52794
+ response_headers_to_removes: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
52795
+ """
52796
+ A list of header names for headers that need to be removed from the response before sending the response back to the client.
52797
+ """
52798
+ elif False:
52799
+ RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgsDict: TypeAlias = Mapping[str, Any]
52800
+
52801
+ @pulumi.input_type
52802
+ class RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionArgs:
52803
+ def __init__(__self__, *,
52804
+ request_headers_to_adds: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs']]]] = None,
52805
+ request_headers_to_removes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
52806
+ response_headers_to_adds: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs']]]] = None,
52807
+ response_headers_to_removes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
52808
+ """
52809
+ :param pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs']]] request_headers_to_adds: Headers to add to a matching request before forwarding the request to the backendService.
52810
+ Structure is documented below.
52811
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] request_headers_to_removes: A list of header names for headers that need to be removed from the request before forwarding the request to the backendService.
52812
+ :param pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs']]] response_headers_to_adds: Headers to add the response before sending the response back to the client.
52813
+ Structure is documented below.
52814
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] response_headers_to_removes: A list of header names for headers that need to be removed from the response before sending the response back to the client.
52815
+ """
52816
+ if request_headers_to_adds is not None:
52817
+ pulumi.set(__self__, "request_headers_to_adds", request_headers_to_adds)
52818
+ if request_headers_to_removes is not None:
52819
+ pulumi.set(__self__, "request_headers_to_removes", request_headers_to_removes)
52820
+ if response_headers_to_adds is not None:
52821
+ pulumi.set(__self__, "response_headers_to_adds", response_headers_to_adds)
52822
+ if response_headers_to_removes is not None:
52823
+ pulumi.set(__self__, "response_headers_to_removes", response_headers_to_removes)
52824
+
52825
+ @property
52826
+ @pulumi.getter(name="requestHeadersToAdds")
52827
+ def request_headers_to_adds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs']]]]:
52828
+ """
52829
+ Headers to add to a matching request before forwarding the request to the backendService.
52830
+ Structure is documented below.
51356
52831
  """
51357
- default_url_redirect: NotRequired[pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgsDict']]
52832
+ return pulumi.get(self, "request_headers_to_adds")
52833
+
52834
+ @request_headers_to_adds.setter
52835
+ def request_headers_to_adds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs']]]]):
52836
+ pulumi.set(self, "request_headers_to_adds", value)
52837
+
52838
+ @property
52839
+ @pulumi.getter(name="requestHeadersToRemoves")
52840
+ def request_headers_to_removes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
51358
52841
  """
51359
- When none of the specified hostRules match, the request is redirected to a URL specified
51360
- by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
51361
- defaultRouteAction must not be set.
52842
+ A list of header names for headers that need to be removed from the request before forwarding the request to the backendService.
52843
+ """
52844
+ return pulumi.get(self, "request_headers_to_removes")
52845
+
52846
+ @request_headers_to_removes.setter
52847
+ def request_headers_to_removes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
52848
+ pulumi.set(self, "request_headers_to_removes", value)
52849
+
52850
+ @property
52851
+ @pulumi.getter(name="responseHeadersToAdds")
52852
+ def response_headers_to_adds(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs']]]]:
52853
+ """
52854
+ Headers to add the response before sending the response back to the client.
51362
52855
  Structure is documented below.
51363
52856
  """
51364
- description: NotRequired[pulumi.Input[builtins.str]]
52857
+ return pulumi.get(self, "response_headers_to_adds")
52858
+
52859
+ @response_headers_to_adds.setter
52860
+ def response_headers_to_adds(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs']]]]):
52861
+ pulumi.set(self, "response_headers_to_adds", value)
52862
+
52863
+ @property
52864
+ @pulumi.getter(name="responseHeadersToRemoves")
52865
+ def response_headers_to_removes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
51365
52866
  """
51366
- An optional description of this resource.
52867
+ A list of header names for headers that need to be removed from the response before sending the response back to the client.
51367
52868
  """
51368
- path_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgsDict']]]]
52869
+ return pulumi.get(self, "response_headers_to_removes")
52870
+
52871
+ @response_headers_to_removes.setter
52872
+ def response_headers_to_removes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
52873
+ pulumi.set(self, "response_headers_to_removes", value)
52874
+
52875
+
52876
+ if not MYPY:
52877
+ class RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgsDict(TypedDict):
52878
+ header_name: NotRequired[pulumi.Input[builtins.str]]
51369
52879
  """
51370
- The list of path rules. Use this list instead of routeRules when routing based
51371
- on simple path matching is all that's required. The order by which path rules
51372
- are specified does not matter. Matches are always done on the longest-path-first
51373
- basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
51374
- irrespective of the order in which those paths appear in this list. Within a
51375
- given pathMatcher, only one of pathRules or routeRules must be set.
51376
- Structure is documented below.
52880
+ The name of the header.
51377
52881
  """
51378
- route_rules: NotRequired[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgsDict']]]]
52882
+ header_value: NotRequired[pulumi.Input[builtins.str]]
51379
52883
  """
51380
- The list of ordered HTTP route rules. Use this list instead of pathRules when
51381
- advanced route matching and routing actions are desired. The order of specifying
51382
- routeRules matters: the first rule that matches will cause its specified routing
51383
- action to take effect. Within a given pathMatcher, only one of pathRules or
51384
- routeRules must be set. routeRules are not supported in UrlMaps intended for
51385
- External load balancers.
51386
- Structure is documented below.
52884
+ The value of the header to add.
52885
+ """
52886
+ replace: NotRequired[pulumi.Input[builtins.bool]]
52887
+ """
52888
+ If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.
52889
+ The default value is false.
51387
52890
  """
51388
52891
  elif False:
51389
- RegionUrlMapPathMatcherArgsDict: TypeAlias = Mapping[str, Any]
52892
+ RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgsDict: TypeAlias = Mapping[str, Any]
51390
52893
 
51391
52894
  @pulumi.input_type
51392
- class RegionUrlMapPathMatcherArgs:
52895
+ class RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionRequestHeadersToAddArgs:
51393
52896
  def __init__(__self__, *,
51394
- name: pulumi.Input[builtins.str],
51395
- default_service: Optional[pulumi.Input[builtins.str]] = None,
51396
- default_url_redirect: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgs']] = None,
51397
- description: Optional[pulumi.Input[builtins.str]] = None,
51398
- path_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgs']]]] = None,
51399
- route_rules: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgs']]]] = None):
52897
+ header_name: Optional[pulumi.Input[builtins.str]] = None,
52898
+ header_value: Optional[pulumi.Input[builtins.str]] = None,
52899
+ replace: Optional[pulumi.Input[builtins.bool]] = None):
51400
52900
  """
51401
- :param pulumi.Input[builtins.str] name: The name to which this PathMatcher is referred by the HostRule.
51402
- :param pulumi.Input[builtins.str] default_service: A reference to a RegionBackendService resource. This will be used if
51403
- none of the pathRules defined by this PathMatcher is matched by
51404
- the URL's path portion.
51405
- :param pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgs'] default_url_redirect: When none of the specified hostRules match, the request is redirected to a URL specified
51406
- by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
51407
- defaultRouteAction must not be set.
51408
- Structure is documented below.
51409
- :param pulumi.Input[builtins.str] description: An optional description of this resource.
51410
- :param pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgs']]] path_rules: The list of path rules. Use this list instead of routeRules when routing based
51411
- on simple path matching is all that's required. The order by which path rules
51412
- are specified does not matter. Matches are always done on the longest-path-first
51413
- basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
51414
- irrespective of the order in which those paths appear in this list. Within a
51415
- given pathMatcher, only one of pathRules or routeRules must be set.
51416
- Structure is documented below.
51417
- :param pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgs']]] route_rules: The list of ordered HTTP route rules. Use this list instead of pathRules when
51418
- advanced route matching and routing actions are desired. The order of specifying
51419
- routeRules matters: the first rule that matches will cause its specified routing
51420
- action to take effect. Within a given pathMatcher, only one of pathRules or
51421
- routeRules must be set. routeRules are not supported in UrlMaps intended for
51422
- External load balancers.
51423
- Structure is documented below.
52901
+ :param pulumi.Input[builtins.str] header_name: The name of the header.
52902
+ :param pulumi.Input[builtins.str] header_value: The value of the header to add.
52903
+ :param pulumi.Input[builtins.bool] replace: If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.
52904
+ The default value is false.
51424
52905
  """
51425
- pulumi.set(__self__, "name", name)
51426
- if default_service is not None:
51427
- pulumi.set(__self__, "default_service", default_service)
51428
- if default_url_redirect is not None:
51429
- pulumi.set(__self__, "default_url_redirect", default_url_redirect)
51430
- if description is not None:
51431
- pulumi.set(__self__, "description", description)
51432
- if path_rules is not None:
51433
- pulumi.set(__self__, "path_rules", path_rules)
51434
- if route_rules is not None:
51435
- pulumi.set(__self__, "route_rules", route_rules)
52906
+ if header_name is not None:
52907
+ pulumi.set(__self__, "header_name", header_name)
52908
+ if header_value is not None:
52909
+ pulumi.set(__self__, "header_value", header_value)
52910
+ if replace is not None:
52911
+ pulumi.set(__self__, "replace", replace)
51436
52912
 
51437
52913
  @property
51438
- @pulumi.getter
51439
- def name(self) -> pulumi.Input[builtins.str]:
52914
+ @pulumi.getter(name="headerName")
52915
+ def header_name(self) -> Optional[pulumi.Input[builtins.str]]:
51440
52916
  """
51441
- The name to which this PathMatcher is referred by the HostRule.
52917
+ The name of the header.
51442
52918
  """
51443
- return pulumi.get(self, "name")
52919
+ return pulumi.get(self, "header_name")
51444
52920
 
51445
- @name.setter
51446
- def name(self, value: pulumi.Input[builtins.str]):
51447
- pulumi.set(self, "name", value)
52921
+ @header_name.setter
52922
+ def header_name(self, value: Optional[pulumi.Input[builtins.str]]):
52923
+ pulumi.set(self, "header_name", value)
51448
52924
 
51449
52925
  @property
51450
- @pulumi.getter(name="defaultService")
51451
- def default_service(self) -> Optional[pulumi.Input[builtins.str]]:
52926
+ @pulumi.getter(name="headerValue")
52927
+ def header_value(self) -> Optional[pulumi.Input[builtins.str]]:
51452
52928
  """
51453
- A reference to a RegionBackendService resource. This will be used if
51454
- none of the pathRules defined by this PathMatcher is matched by
51455
- the URL's path portion.
52929
+ The value of the header to add.
51456
52930
  """
51457
- return pulumi.get(self, "default_service")
52931
+ return pulumi.get(self, "header_value")
51458
52932
 
51459
- @default_service.setter
51460
- def default_service(self, value: Optional[pulumi.Input[builtins.str]]):
51461
- pulumi.set(self, "default_service", value)
52933
+ @header_value.setter
52934
+ def header_value(self, value: Optional[pulumi.Input[builtins.str]]):
52935
+ pulumi.set(self, "header_value", value)
51462
52936
 
51463
52937
  @property
51464
- @pulumi.getter(name="defaultUrlRedirect")
51465
- def default_url_redirect(self) -> Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgs']]:
52938
+ @pulumi.getter
52939
+ def replace(self) -> Optional[pulumi.Input[builtins.bool]]:
51466
52940
  """
51467
- When none of the specified hostRules match, the request is redirected to a URL specified
51468
- by defaultUrlRedirect. If defaultUrlRedirect is specified, defaultService or
51469
- defaultRouteAction must not be set.
51470
- Structure is documented below.
52941
+ If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.
52942
+ The default value is false.
51471
52943
  """
51472
- return pulumi.get(self, "default_url_redirect")
52944
+ return pulumi.get(self, "replace")
51473
52945
 
51474
- @default_url_redirect.setter
51475
- def default_url_redirect(self, value: Optional[pulumi.Input['RegionUrlMapPathMatcherDefaultUrlRedirectArgs']]):
51476
- pulumi.set(self, "default_url_redirect", value)
52946
+ @replace.setter
52947
+ def replace(self, value: Optional[pulumi.Input[builtins.bool]]):
52948
+ pulumi.set(self, "replace", value)
52949
+
52950
+
52951
+ if not MYPY:
52952
+ class RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgsDict(TypedDict):
52953
+ header_name: NotRequired[pulumi.Input[builtins.str]]
52954
+ """
52955
+ The name of the header.
52956
+ """
52957
+ header_value: NotRequired[pulumi.Input[builtins.str]]
52958
+ """
52959
+ The value of the header to add.
52960
+ """
52961
+ replace: NotRequired[pulumi.Input[builtins.bool]]
52962
+ """
52963
+ If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.
52964
+ The default value is false.
52965
+ """
52966
+ elif False:
52967
+ RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgsDict: TypeAlias = Mapping[str, Any]
52968
+
52969
+ @pulumi.input_type
52970
+ class RegionUrlMapPathMatcherDefaultRouteActionWeightedBackendServiceHeaderActionResponseHeadersToAddArgs:
52971
+ def __init__(__self__, *,
52972
+ header_name: Optional[pulumi.Input[builtins.str]] = None,
52973
+ header_value: Optional[pulumi.Input[builtins.str]] = None,
52974
+ replace: Optional[pulumi.Input[builtins.bool]] = None):
52975
+ """
52976
+ :param pulumi.Input[builtins.str] header_name: The name of the header.
52977
+ :param pulumi.Input[builtins.str] header_value: The value of the header to add.
52978
+ :param pulumi.Input[builtins.bool] replace: If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.
52979
+ The default value is false.
52980
+ """
52981
+ if header_name is not None:
52982
+ pulumi.set(__self__, "header_name", header_name)
52983
+ if header_value is not None:
52984
+ pulumi.set(__self__, "header_value", header_value)
52985
+ if replace is not None:
52986
+ pulumi.set(__self__, "replace", replace)
51477
52987
 
51478
52988
  @property
51479
- @pulumi.getter
51480
- def description(self) -> Optional[pulumi.Input[builtins.str]]:
52989
+ @pulumi.getter(name="headerName")
52990
+ def header_name(self) -> Optional[pulumi.Input[builtins.str]]:
51481
52991
  """
51482
- An optional description of this resource.
52992
+ The name of the header.
51483
52993
  """
51484
- return pulumi.get(self, "description")
52994
+ return pulumi.get(self, "header_name")
51485
52995
 
51486
- @description.setter
51487
- def description(self, value: Optional[pulumi.Input[builtins.str]]):
51488
- pulumi.set(self, "description", value)
52996
+ @header_name.setter
52997
+ def header_name(self, value: Optional[pulumi.Input[builtins.str]]):
52998
+ pulumi.set(self, "header_name", value)
51489
52999
 
51490
53000
  @property
51491
- @pulumi.getter(name="pathRules")
51492
- def path_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgs']]]]:
53001
+ @pulumi.getter(name="headerValue")
53002
+ def header_value(self) -> Optional[pulumi.Input[builtins.str]]:
51493
53003
  """
51494
- The list of path rules. Use this list instead of routeRules when routing based
51495
- on simple path matching is all that's required. The order by which path rules
51496
- are specified does not matter. Matches are always done on the longest-path-first
51497
- basis. For example: a pathRule with a path /a/b/c/* will match before /a/b/*
51498
- irrespective of the order in which those paths appear in this list. Within a
51499
- given pathMatcher, only one of pathRules or routeRules must be set.
51500
- Structure is documented below.
53004
+ The value of the header to add.
51501
53005
  """
51502
- return pulumi.get(self, "path_rules")
53006
+ return pulumi.get(self, "header_value")
51503
53007
 
51504
- @path_rules.setter
51505
- def path_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherPathRuleArgs']]]]):
51506
- pulumi.set(self, "path_rules", value)
53008
+ @header_value.setter
53009
+ def header_value(self, value: Optional[pulumi.Input[builtins.str]]):
53010
+ pulumi.set(self, "header_value", value)
51507
53011
 
51508
53012
  @property
51509
- @pulumi.getter(name="routeRules")
51510
- def route_rules(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgs']]]]:
53013
+ @pulumi.getter
53014
+ def replace(self) -> Optional[pulumi.Input[builtins.bool]]:
51511
53015
  """
51512
- The list of ordered HTTP route rules. Use this list instead of pathRules when
51513
- advanced route matching and routing actions are desired. The order of specifying
51514
- routeRules matters: the first rule that matches will cause its specified routing
51515
- action to take effect. Within a given pathMatcher, only one of pathRules or
51516
- routeRules must be set. routeRules are not supported in UrlMaps intended for
51517
- External load balancers.
51518
- Structure is documented below.
53016
+ If false, headerValue is appended to any values that already exist for the header. If true, headerValue is set for the header, discarding any values that were set for that header.
53017
+ The default value is false.
51519
53018
  """
51520
- return pulumi.get(self, "route_rules")
53019
+ return pulumi.get(self, "replace")
51521
53020
 
51522
- @route_rules.setter
51523
- def route_rules(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionUrlMapPathMatcherRouteRuleArgs']]]]):
51524
- pulumi.set(self, "route_rules", value)
53021
+ @replace.setter
53022
+ def replace(self, value: Optional[pulumi.Input[builtins.bool]]):
53023
+ pulumi.set(self, "replace", value)
51525
53024
 
51526
53025
 
51527
53026
  if not MYPY:
@@ -55584,17 +57083,16 @@ if not MYPY:
55584
57083
  """
55585
57084
  path_template_rewrite: NotRequired[pulumi.Input[builtins.str]]
55586
57085
  """
55587
- Prior to forwarding the request to the selected origin, if the
55588
- request matched a pathTemplateMatch, the matching portion of the
55589
- request's path is replaced re-written using the pattern specified
55590
- by pathTemplateRewrite.
55591
- pathTemplateRewrite must be between 1 and 255 characters
55592
- (inclusive), must start with a '/', and must only use variables
55593
- captured by the route's pathTemplate matchers.
55594
- pathTemplateRewrite may only be used when all of a route's
55595
- MatchRules specify pathTemplate.
55596
- Only one of pathPrefixRewrite and pathTemplateRewrite may be
55597
- specified.
57086
+ If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax.
57087
+ A corresponding pathTemplateMatch must be specified. Any template variables must exist in the pathTemplateMatch field.
57088
+ * At least one variable must be specified in the pathTemplateMatch field
57089
+ * You can omit variables from the rewritten URL
57090
+ * The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}.
57091
+ For example, a pathTemplateMatch of /static/{format=**} could be rewritten as /static/content/{format} to prefix
57092
+ /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be
57093
+ rewritten as /content/{format}/{country}/{suffix}.
57094
+ At least one non-empty routeRules[].matchRules[].path_template_match is required.
57095
+ Only one of pathPrefixRewrite or pathTemplateRewrite may be specified.
55598
57096
  """
55599
57097
  elif False:
55600
57098
  RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewriteArgsDict: TypeAlias = Mapping[str, Any]
@@ -55610,17 +57108,16 @@ class RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewriteArgs:
55610
57108
  The value must be from 1 to 255 characters.
55611
57109
  :param pulumi.Input[builtins.str] path_prefix_rewrite: Before forwarding the request to the selected backend service, the matching portion of the request's path is replaced by pathPrefixRewrite.
55612
57110
  The value must be from 1 to 1024 characters.
55613
- :param pulumi.Input[builtins.str] path_template_rewrite: Prior to forwarding the request to the selected origin, if the
55614
- request matched a pathTemplateMatch, the matching portion of the
55615
- request's path is replaced re-written using the pattern specified
55616
- by pathTemplateRewrite.
55617
- pathTemplateRewrite must be between 1 and 255 characters
55618
- (inclusive), must start with a '/', and must only use variables
55619
- captured by the route's pathTemplate matchers.
55620
- pathTemplateRewrite may only be used when all of a route's
55621
- MatchRules specify pathTemplate.
55622
- Only one of pathPrefixRewrite and pathTemplateRewrite may be
55623
- specified.
57111
+ :param pulumi.Input[builtins.str] path_template_rewrite: If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax.
57112
+ A corresponding pathTemplateMatch must be specified. Any template variables must exist in the pathTemplateMatch field.
57113
+ * At least one variable must be specified in the pathTemplateMatch field
57114
+ * You can omit variables from the rewritten URL
57115
+ * The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}.
57116
+ For example, a pathTemplateMatch of /static/{format=**} could be rewritten as /static/content/{format} to prefix
57117
+ /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be
57118
+ rewritten as /content/{format}/{country}/{suffix}.
57119
+ At least one non-empty routeRules[].matchRules[].path_template_match is required.
57120
+ Only one of pathPrefixRewrite or pathTemplateRewrite may be specified.
55624
57121
  """
55625
57122
  if host_rewrite is not None:
55626
57123
  pulumi.set(__self__, "host_rewrite", host_rewrite)
@@ -55659,17 +57156,16 @@ class RegionUrlMapPathMatcherRouteRuleRouteActionUrlRewriteArgs:
55659
57156
  @pulumi.getter(name="pathTemplateRewrite")
55660
57157
  def path_template_rewrite(self) -> Optional[pulumi.Input[builtins.str]]:
55661
57158
  """
55662
- Prior to forwarding the request to the selected origin, if the
55663
- request matched a pathTemplateMatch, the matching portion of the
55664
- request's path is replaced re-written using the pattern specified
55665
- by pathTemplateRewrite.
55666
- pathTemplateRewrite must be between 1 and 255 characters
55667
- (inclusive), must start with a '/', and must only use variables
55668
- captured by the route's pathTemplate matchers.
55669
- pathTemplateRewrite may only be used when all of a route's
55670
- MatchRules specify pathTemplate.
55671
- Only one of pathPrefixRewrite and pathTemplateRewrite may be
55672
- specified.
57159
+ If specified, the pattern rewrites the URL path (based on the :path header) using the HTTP template syntax.
57160
+ A corresponding pathTemplateMatch must be specified. Any template variables must exist in the pathTemplateMatch field.
57161
+ * At least one variable must be specified in the pathTemplateMatch field
57162
+ * You can omit variables from the rewritten URL
57163
+ * The * and ** operators cannot be matched unless they have a corresponding variable name - e.g. {format=*} or {var=**}.
57164
+ For example, a pathTemplateMatch of /static/{format=**} could be rewritten as /static/content/{format} to prefix
57165
+ /content to the URL. Variables can also be re-ordered in a rewrite, so that /{country}/{format}/{suffix=**} can be
57166
+ rewritten as /content/{format}/{country}/{suffix}.
57167
+ At least one non-empty routeRules[].matchRules[].path_template_match is required.
57168
+ Only one of pathPrefixRewrite or pathTemplateRewrite may be specified.
55673
57169
  """
55674
57170
  return pulumi.get(self, "path_template_rewrite")
55675
57171
 
@@ -74740,14 +76236,31 @@ if not MYPY:
74740
76236
  """
74741
76237
  Path portion of the URL.
74742
76238
  """
74743
- service: pulumi.Input[builtins.str]
74744
- """
74745
- The backend service or backend bucket link that should be matched by this test.
74746
- """
74747
76239
  description: NotRequired[pulumi.Input[builtins.str]]
74748
76240
  """
74749
76241
  Description of this test case.
74750
76242
  """
76243
+ expected_output_url: NotRequired[pulumi.Input[builtins.str]]
76244
+ """
76245
+ The expected output URL evaluated by the load balancer containing the scheme, host, path and query parameters.
76246
+ For rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by the load balancer to backends. For rules with urlRewrite, the test verifies that the forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite action. When service is specified, expectedOutputUrl`s scheme is ignored.
76247
+ For rules with urlRedirect, the test passes only if expectedOutputUrl matches the URL in the load balancer's redirect response. If urlRedirect specifies httpsRedirect, the test passes only if the scheme in expectedOutputUrl is also set to HTTPS. If urlRedirect specifies stripQuery, the test passes only if expectedOutputUrl does not contain any query parameters.
76248
+ expectedOutputUrl is optional when service is specified.
76249
+ """
76250
+ expected_redirect_response_code: NotRequired[pulumi.Input[builtins.int]]
76251
+ """
76252
+ For rules with urlRedirect, the test passes only if expectedRedirectResponseCode matches the HTTP status code in load balancer's redirect response.
76253
+ expectedRedirectResponseCode cannot be set when service is set.
76254
+ """
76255
+ headers: NotRequired[pulumi.Input[Sequence[pulumi.Input['URLMapTestHeaderArgsDict']]]]
76256
+ """
76257
+ HTTP headers for this request.
76258
+ Structure is documented below.
76259
+ """
76260
+ service: NotRequired[pulumi.Input[builtins.str]]
76261
+ """
76262
+ The backend service or backend bucket link that should be matched by this test.
76263
+ """
74751
76264
  elif False:
74752
76265
  URLMapTestArgsDict: TypeAlias = Mapping[str, Any]
74753
76266
 
@@ -74756,19 +76269,37 @@ class URLMapTestArgs:
74756
76269
  def __init__(__self__, *,
74757
76270
  host: pulumi.Input[builtins.str],
74758
76271
  path: pulumi.Input[builtins.str],
74759
- service: pulumi.Input[builtins.str],
74760
- description: Optional[pulumi.Input[builtins.str]] = None):
76272
+ description: Optional[pulumi.Input[builtins.str]] = None,
76273
+ expected_output_url: Optional[pulumi.Input[builtins.str]] = None,
76274
+ expected_redirect_response_code: Optional[pulumi.Input[builtins.int]] = None,
76275
+ headers: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapTestHeaderArgs']]]] = None,
76276
+ service: Optional[pulumi.Input[builtins.str]] = None):
74761
76277
  """
74762
76278
  :param pulumi.Input[builtins.str] host: Host portion of the URL.
74763
76279
  :param pulumi.Input[builtins.str] path: Path portion of the URL.
74764
- :param pulumi.Input[builtins.str] service: The backend service or backend bucket link that should be matched by this test.
74765
76280
  :param pulumi.Input[builtins.str] description: Description of this test case.
76281
+ :param pulumi.Input[builtins.str] expected_output_url: The expected output URL evaluated by the load balancer containing the scheme, host, path and query parameters.
76282
+ For rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by the load balancer to backends. For rules with urlRewrite, the test verifies that the forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite action. When service is specified, expectedOutputUrl`s scheme is ignored.
76283
+ For rules with urlRedirect, the test passes only if expectedOutputUrl matches the URL in the load balancer's redirect response. If urlRedirect specifies httpsRedirect, the test passes only if the scheme in expectedOutputUrl is also set to HTTPS. If urlRedirect specifies stripQuery, the test passes only if expectedOutputUrl does not contain any query parameters.
76284
+ expectedOutputUrl is optional when service is specified.
76285
+ :param pulumi.Input[builtins.int] expected_redirect_response_code: For rules with urlRedirect, the test passes only if expectedRedirectResponseCode matches the HTTP status code in load balancer's redirect response.
76286
+ expectedRedirectResponseCode cannot be set when service is set.
76287
+ :param pulumi.Input[Sequence[pulumi.Input['URLMapTestHeaderArgs']]] headers: HTTP headers for this request.
76288
+ Structure is documented below.
76289
+ :param pulumi.Input[builtins.str] service: The backend service or backend bucket link that should be matched by this test.
74766
76290
  """
74767
76291
  pulumi.set(__self__, "host", host)
74768
76292
  pulumi.set(__self__, "path", path)
74769
- pulumi.set(__self__, "service", service)
74770
76293
  if description is not None:
74771
76294
  pulumi.set(__self__, "description", description)
76295
+ if expected_output_url is not None:
76296
+ pulumi.set(__self__, "expected_output_url", expected_output_url)
76297
+ if expected_redirect_response_code is not None:
76298
+ pulumi.set(__self__, "expected_redirect_response_code", expected_redirect_response_code)
76299
+ if headers is not None:
76300
+ pulumi.set(__self__, "headers", headers)
76301
+ if service is not None:
76302
+ pulumi.set(__self__, "service", service)
74772
76303
 
74773
76304
  @property
74774
76305
  @pulumi.getter
@@ -74796,26 +76327,348 @@ class URLMapTestArgs:
74796
76327
 
74797
76328
  @property
74798
76329
  @pulumi.getter
74799
- def service(self) -> pulumi.Input[builtins.str]:
76330
+ def description(self) -> Optional[pulumi.Input[builtins.str]]:
76331
+ """
76332
+ Description of this test case.
76333
+ """
76334
+ return pulumi.get(self, "description")
76335
+
76336
+ @description.setter
76337
+ def description(self, value: Optional[pulumi.Input[builtins.str]]):
76338
+ pulumi.set(self, "description", value)
76339
+
76340
+ @property
76341
+ @pulumi.getter(name="expectedOutputUrl")
76342
+ def expected_output_url(self) -> Optional[pulumi.Input[builtins.str]]:
76343
+ """
76344
+ The expected output URL evaluated by the load balancer containing the scheme, host, path and query parameters.
76345
+ For rules that forward requests to backends, the test passes only when expectedOutputUrl matches the request forwarded by the load balancer to backends. For rules with urlRewrite, the test verifies that the forwarded request matches hostRewrite and pathPrefixRewrite in the urlRewrite action. When service is specified, expectedOutputUrl`s scheme is ignored.
76346
+ For rules with urlRedirect, the test passes only if expectedOutputUrl matches the URL in the load balancer's redirect response. If urlRedirect specifies httpsRedirect, the test passes only if the scheme in expectedOutputUrl is also set to HTTPS. If urlRedirect specifies stripQuery, the test passes only if expectedOutputUrl does not contain any query parameters.
76347
+ expectedOutputUrl is optional when service is specified.
76348
+ """
76349
+ return pulumi.get(self, "expected_output_url")
76350
+
76351
+ @expected_output_url.setter
76352
+ def expected_output_url(self, value: Optional[pulumi.Input[builtins.str]]):
76353
+ pulumi.set(self, "expected_output_url", value)
76354
+
76355
+ @property
76356
+ @pulumi.getter(name="expectedRedirectResponseCode")
76357
+ def expected_redirect_response_code(self) -> Optional[pulumi.Input[builtins.int]]:
76358
+ """
76359
+ For rules with urlRedirect, the test passes only if expectedRedirectResponseCode matches the HTTP status code in load balancer's redirect response.
76360
+ expectedRedirectResponseCode cannot be set when service is set.
76361
+ """
76362
+ return pulumi.get(self, "expected_redirect_response_code")
76363
+
76364
+ @expected_redirect_response_code.setter
76365
+ def expected_redirect_response_code(self, value: Optional[pulumi.Input[builtins.int]]):
76366
+ pulumi.set(self, "expected_redirect_response_code", value)
76367
+
76368
+ @property
76369
+ @pulumi.getter
76370
+ def headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['URLMapTestHeaderArgs']]]]:
76371
+ """
76372
+ HTTP headers for this request.
76373
+ Structure is documented below.
76374
+ """
76375
+ return pulumi.get(self, "headers")
76376
+
76377
+ @headers.setter
76378
+ def headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['URLMapTestHeaderArgs']]]]):
76379
+ pulumi.set(self, "headers", value)
76380
+
76381
+ @property
76382
+ @pulumi.getter
76383
+ def service(self) -> Optional[pulumi.Input[builtins.str]]:
74800
76384
  """
74801
76385
  The backend service or backend bucket link that should be matched by this test.
74802
76386
  """
74803
76387
  return pulumi.get(self, "service")
74804
76388
 
74805
76389
  @service.setter
74806
- def service(self, value: pulumi.Input[builtins.str]):
76390
+ def service(self, value: Optional[pulumi.Input[builtins.str]]):
74807
76391
  pulumi.set(self, "service", value)
74808
76392
 
76393
+
76394
+ if not MYPY:
76395
+ class URLMapTestHeaderArgsDict(TypedDict):
76396
+ name: pulumi.Input[builtins.str]
76397
+ """
76398
+ Header name.
76399
+ """
76400
+ value: pulumi.Input[builtins.str]
76401
+ """
76402
+ Header value.
76403
+ """
76404
+ elif False:
76405
+ URLMapTestHeaderArgsDict: TypeAlias = Mapping[str, Any]
76406
+
76407
+ @pulumi.input_type
76408
+ class URLMapTestHeaderArgs:
76409
+ def __init__(__self__, *,
76410
+ name: pulumi.Input[builtins.str],
76411
+ value: pulumi.Input[builtins.str]):
76412
+ """
76413
+ :param pulumi.Input[builtins.str] name: Header name.
76414
+ :param pulumi.Input[builtins.str] value: Header value.
76415
+ """
76416
+ pulumi.set(__self__, "name", name)
76417
+ pulumi.set(__self__, "value", value)
76418
+
74809
76419
  @property
74810
76420
  @pulumi.getter
74811
- def description(self) -> Optional[pulumi.Input[builtins.str]]:
76421
+ def name(self) -> pulumi.Input[builtins.str]:
74812
76422
  """
74813
- Description of this test case.
76423
+ Header name.
74814
76424
  """
74815
- return pulumi.get(self, "description")
76425
+ return pulumi.get(self, "name")
74816
76426
 
74817
- @description.setter
74818
- def description(self, value: Optional[pulumi.Input[builtins.str]]):
74819
- pulumi.set(self, "description", value)
76427
+ @name.setter
76428
+ def name(self, value: pulumi.Input[builtins.str]):
76429
+ pulumi.set(self, "name", value)
76430
+
76431
+ @property
76432
+ @pulumi.getter
76433
+ def value(self) -> pulumi.Input[builtins.str]:
76434
+ """
76435
+ Header value.
76436
+ """
76437
+ return pulumi.get(self, "value")
76438
+
76439
+ @value.setter
76440
+ def value(self, value: pulumi.Input[builtins.str]):
76441
+ pulumi.set(self, "value", value)
76442
+
76443
+
76444
+ if not MYPY:
76445
+ class VPNTunnelCipherSuiteArgsDict(TypedDict):
76446
+ phase1: NotRequired[pulumi.Input['VPNTunnelCipherSuitePhase1ArgsDict']]
76447
+ """
76448
+ Cipher configuration for phase 1 of the IKE protocol.
76449
+ Structure is documented below.
76450
+ """
76451
+ phase2: NotRequired[pulumi.Input['VPNTunnelCipherSuitePhase2ArgsDict']]
76452
+ """
76453
+ Cipher configuration for phase 2 of the IKE protocol.
76454
+ Structure is documented below.
76455
+
76456
+
76457
+ <a name="nested_cipher_suite_phase1"></a>The `phase1` block supports:
76458
+ """
76459
+ elif False:
76460
+ VPNTunnelCipherSuiteArgsDict: TypeAlias = Mapping[str, Any]
76461
+
76462
+ @pulumi.input_type
76463
+ class VPNTunnelCipherSuiteArgs:
76464
+ def __init__(__self__, *,
76465
+ phase1: Optional[pulumi.Input['VPNTunnelCipherSuitePhase1Args']] = None,
76466
+ phase2: Optional[pulumi.Input['VPNTunnelCipherSuitePhase2Args']] = None):
76467
+ """
76468
+ :param pulumi.Input['VPNTunnelCipherSuitePhase1Args'] phase1: Cipher configuration for phase 1 of the IKE protocol.
76469
+ Structure is documented below.
76470
+ :param pulumi.Input['VPNTunnelCipherSuitePhase2Args'] phase2: Cipher configuration for phase 2 of the IKE protocol.
76471
+ Structure is documented below.
76472
+
76473
+
76474
+ <a name="nested_cipher_suite_phase1"></a>The `phase1` block supports:
76475
+ """
76476
+ if phase1 is not None:
76477
+ pulumi.set(__self__, "phase1", phase1)
76478
+ if phase2 is not None:
76479
+ pulumi.set(__self__, "phase2", phase2)
76480
+
76481
+ @property
76482
+ @pulumi.getter
76483
+ def phase1(self) -> Optional[pulumi.Input['VPNTunnelCipherSuitePhase1Args']]:
76484
+ """
76485
+ Cipher configuration for phase 1 of the IKE protocol.
76486
+ Structure is documented below.
76487
+ """
76488
+ return pulumi.get(self, "phase1")
76489
+
76490
+ @phase1.setter
76491
+ def phase1(self, value: Optional[pulumi.Input['VPNTunnelCipherSuitePhase1Args']]):
76492
+ pulumi.set(self, "phase1", value)
76493
+
76494
+ @property
76495
+ @pulumi.getter
76496
+ def phase2(self) -> Optional[pulumi.Input['VPNTunnelCipherSuitePhase2Args']]:
76497
+ """
76498
+ Cipher configuration for phase 2 of the IKE protocol.
76499
+ Structure is documented below.
76500
+
76501
+
76502
+ <a name="nested_cipher_suite_phase1"></a>The `phase1` block supports:
76503
+ """
76504
+ return pulumi.get(self, "phase2")
76505
+
76506
+ @phase2.setter
76507
+ def phase2(self, value: Optional[pulumi.Input['VPNTunnelCipherSuitePhase2Args']]):
76508
+ pulumi.set(self, "phase2", value)
76509
+
76510
+
76511
+ if not MYPY:
76512
+ class VPNTunnelCipherSuitePhase1ArgsDict(TypedDict):
76513
+ dhs: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
76514
+ """
76515
+ Diffie-Hellman groups.
76516
+ """
76517
+ encryptions: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
76518
+ """
76519
+ Encryption algorithms.
76520
+ """
76521
+ integrities: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
76522
+ """
76523
+ Integrity algorithms.
76524
+ """
76525
+ prves: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
76526
+ """
76527
+ Pseudo-random functions.
76528
+ """
76529
+ elif False:
76530
+ VPNTunnelCipherSuitePhase1ArgsDict: TypeAlias = Mapping[str, Any]
76531
+
76532
+ @pulumi.input_type
76533
+ class VPNTunnelCipherSuitePhase1Args:
76534
+ def __init__(__self__, *,
76535
+ dhs: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
76536
+ encryptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
76537
+ integrities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
76538
+ prves: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
76539
+ """
76540
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] dhs: Diffie-Hellman groups.
76541
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] encryptions: Encryption algorithms.
76542
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] integrities: Integrity algorithms.
76543
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] prves: Pseudo-random functions.
76544
+ """
76545
+ if dhs is not None:
76546
+ pulumi.set(__self__, "dhs", dhs)
76547
+ if encryptions is not None:
76548
+ pulumi.set(__self__, "encryptions", encryptions)
76549
+ if integrities is not None:
76550
+ pulumi.set(__self__, "integrities", integrities)
76551
+ if prves is not None:
76552
+ pulumi.set(__self__, "prves", prves)
76553
+
76554
+ @property
76555
+ @pulumi.getter
76556
+ def dhs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
76557
+ """
76558
+ Diffie-Hellman groups.
76559
+ """
76560
+ return pulumi.get(self, "dhs")
76561
+
76562
+ @dhs.setter
76563
+ def dhs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
76564
+ pulumi.set(self, "dhs", value)
76565
+
76566
+ @property
76567
+ @pulumi.getter
76568
+ def encryptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
76569
+ """
76570
+ Encryption algorithms.
76571
+ """
76572
+ return pulumi.get(self, "encryptions")
76573
+
76574
+ @encryptions.setter
76575
+ def encryptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
76576
+ pulumi.set(self, "encryptions", value)
76577
+
76578
+ @property
76579
+ @pulumi.getter
76580
+ def integrities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
76581
+ """
76582
+ Integrity algorithms.
76583
+ """
76584
+ return pulumi.get(self, "integrities")
76585
+
76586
+ @integrities.setter
76587
+ def integrities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
76588
+ pulumi.set(self, "integrities", value)
76589
+
76590
+ @property
76591
+ @pulumi.getter
76592
+ def prves(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
76593
+ """
76594
+ Pseudo-random functions.
76595
+ """
76596
+ return pulumi.get(self, "prves")
76597
+
76598
+ @prves.setter
76599
+ def prves(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
76600
+ pulumi.set(self, "prves", value)
76601
+
76602
+
76603
+ if not MYPY:
76604
+ class VPNTunnelCipherSuitePhase2ArgsDict(TypedDict):
76605
+ encryptions: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
76606
+ """
76607
+ Encryption algorithms.
76608
+ """
76609
+ integrities: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
76610
+ """
76611
+ Integrity algorithms.
76612
+ """
76613
+ pfs: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
76614
+ """
76615
+ Perfect forward secrecy groups.
76616
+ """
76617
+ elif False:
76618
+ VPNTunnelCipherSuitePhase2ArgsDict: TypeAlias = Mapping[str, Any]
76619
+
76620
+ @pulumi.input_type
76621
+ class VPNTunnelCipherSuitePhase2Args:
76622
+ def __init__(__self__, *,
76623
+ encryptions: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
76624
+ integrities: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
76625
+ pfs: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None):
76626
+ """
76627
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] encryptions: Encryption algorithms.
76628
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] integrities: Integrity algorithms.
76629
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] pfs: Perfect forward secrecy groups.
76630
+ """
76631
+ if encryptions is not None:
76632
+ pulumi.set(__self__, "encryptions", encryptions)
76633
+ if integrities is not None:
76634
+ pulumi.set(__self__, "integrities", integrities)
76635
+ if pfs is not None:
76636
+ pulumi.set(__self__, "pfs", pfs)
76637
+
76638
+ @property
76639
+ @pulumi.getter
76640
+ def encryptions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
76641
+ """
76642
+ Encryption algorithms.
76643
+ """
76644
+ return pulumi.get(self, "encryptions")
76645
+
76646
+ @encryptions.setter
76647
+ def encryptions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
76648
+ pulumi.set(self, "encryptions", value)
76649
+
76650
+ @property
76651
+ @pulumi.getter
76652
+ def integrities(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
76653
+ """
76654
+ Integrity algorithms.
76655
+ """
76656
+ return pulumi.get(self, "integrities")
76657
+
76658
+ @integrities.setter
76659
+ def integrities(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
76660
+ pulumi.set(self, "integrities", value)
76661
+
76662
+ @property
76663
+ @pulumi.getter
76664
+ def pfs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
76665
+ """
76666
+ Perfect forward secrecy groups.
76667
+ """
76668
+ return pulumi.get(self, "pfs")
76669
+
76670
+ @pfs.setter
76671
+ def pfs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
76672
+ pulumi.set(self, "pfs", value)
74820
76673
 
74821
76674