pulumi-gcp 8.21.0a1741156431__py3-none-any.whl → 8.21.0a1741183435__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. pulumi_gcp/__init__.py +64 -0
  2. pulumi_gcp/alloydb/cluster.py +148 -0
  3. pulumi_gcp/alloydb/instance.py +28 -28
  4. pulumi_gcp/apihub/__init__.py +1 -0
  5. pulumi_gcp/apihub/host_project_registration.py +535 -0
  6. pulumi_gcp/bigquery/table.py +1 -1
  7. pulumi_gcp/compute/__init__.py +5 -0
  8. pulumi_gcp/compute/_inputs.py +770 -0
  9. pulumi_gcp/compute/backend_service.py +14 -7
  10. pulumi_gcp/compute/ca_external_account_key.py +48 -3
  11. pulumi_gcp/compute/disk.py +295 -0
  12. pulumi_gcp/compute/get_disk.py +56 -1
  13. pulumi_gcp/compute/get_instant_snapshot_iam_policy.py +182 -0
  14. pulumi_gcp/compute/instant_snapshot.py +796 -0
  15. pulumi_gcp/compute/instant_snapshot_iam_binding.py +1087 -0
  16. pulumi_gcp/compute/instant_snapshot_iam_member.py +1087 -0
  17. pulumi_gcp/compute/instant_snapshot_iam_policy.py +906 -0
  18. pulumi_gcp/compute/outputs.py +1329 -6
  19. pulumi_gcp/compute/region_backend_service.py +14 -7
  20. pulumi_gcp/compute/route.py +228 -2
  21. pulumi_gcp/compute/url_map.py +8 -0
  22. pulumi_gcp/container/_inputs.py +3 -3
  23. pulumi_gcp/container/outputs.py +4 -4
  24. pulumi_gcp/datacatalog/entry.py +4 -0
  25. pulumi_gcp/datacatalog/tag.py +4 -0
  26. pulumi_gcp/dataproc/_inputs.py +12 -15
  27. pulumi_gcp/dataproc/outputs.py +8 -10
  28. pulumi_gcp/discoveryengine/target_site.py +4 -4
  29. pulumi_gcp/eventarc/__init__.py +1 -0
  30. pulumi_gcp/eventarc/_inputs.py +40 -0
  31. pulumi_gcp/eventarc/message_bus.py +927 -0
  32. pulumi_gcp/eventarc/outputs.py +41 -0
  33. pulumi_gcp/gemini/__init__.py +1 -0
  34. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +20 -8
  35. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +6 -0
  36. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +734 -0
  37. pulumi_gcp/gemini/logging_setting_binding.py +7 -7
  38. pulumi_gcp/iam/_inputs.py +33 -9
  39. pulumi_gcp/iam/outputs.py +22 -6
  40. pulumi_gcp/iam/workforce_pool_provider.py +2 -2
  41. pulumi_gcp/memorystore/__init__.py +1 -0
  42. pulumi_gcp/memorystore/get_instance.py +425 -0
  43. pulumi_gcp/memorystore/outputs.py +582 -0
  44. pulumi_gcp/networkconnectivity/hub.py +84 -0
  45. pulumi_gcp/networkservices/grpc_route.py +116 -12
  46. pulumi_gcp/notebooks/location.py +4 -0
  47. pulumi_gcp/pulumi-plugin.json +1 -1
  48. pulumi_gcp/storage/__init__.py +1 -0
  49. pulumi_gcp/storage/_inputs.py +74 -0
  50. pulumi_gcp/storage/anywhere_cache.py +552 -0
  51. pulumi_gcp/storage/outputs.py +65 -0
  52. pulumi_gcp/storage/transfer_job.py +67 -0
  53. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/METADATA +1 -1
  54. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/RECORD +56 -46
  55. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/WHEEL +0 -0
  56. {pulumi_gcp-8.21.0a1741156431.dist-info → pulumi_gcp-8.21.0a1741183435.dist-info}/top_level.txt +0 -0
@@ -105,6 +105,8 @@ __all__ = [
105
105
  'DiskIamBindingConditionArgsDict',
106
106
  'DiskIamMemberConditionArgs',
107
107
  'DiskIamMemberConditionArgsDict',
108
+ 'DiskParamsArgs',
109
+ 'DiskParamsArgsDict',
108
110
  'DiskSourceImageEncryptionKeyArgs',
109
111
  'DiskSourceImageEncryptionKeyArgsDict',
110
112
  'DiskSourceSnapshotEncryptionKeyArgs',
@@ -403,6 +405,10 @@ __all__ = [
403
405
  'InstanceTemplateServiceAccountArgsDict',
404
406
  'InstanceTemplateShieldedInstanceConfigArgs',
405
407
  'InstanceTemplateShieldedInstanceConfigArgsDict',
408
+ 'InstantSnapshotIamBindingConditionArgs',
409
+ 'InstantSnapshotIamBindingConditionArgsDict',
410
+ 'InstantSnapshotIamMemberConditionArgs',
411
+ 'InstantSnapshotIamMemberConditionArgsDict',
406
412
  'InterconnectAttachmentPrivateInterconnectInfoArgs',
407
413
  'InterconnectAttachmentPrivateInterconnectInfoArgsDict',
408
414
  'InterconnectCircuitInfoArgs',
@@ -1007,6 +1013,12 @@ __all__ = [
1007
1013
  'ResourcePolicySnapshotSchedulePolicyScheduleWeeklyScheduleDayOfWeekArgsDict',
1008
1014
  'ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs',
1009
1015
  'ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgsDict',
1016
+ 'RouteAsPathArgs',
1017
+ 'RouteAsPathArgsDict',
1018
+ 'RouteWarningArgs',
1019
+ 'RouteWarningArgsDict',
1020
+ 'RouteWarningDataArgs',
1021
+ 'RouteWarningDataArgsDict',
1010
1022
  'RouterBgpArgs',
1011
1023
  'RouterBgpArgsDict',
1012
1024
  'RouterBgpAdvertisedIpRangeArgs',
@@ -1133,6 +1145,8 @@ __all__ = [
1133
1145
  'URLMapDefaultRouteActionFaultInjectionPolicyDelayArgsDict',
1134
1146
  'URLMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs',
1135
1147
  'URLMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgsDict',
1148
+ 'URLMapDefaultRouteActionMaxStreamDurationArgs',
1149
+ 'URLMapDefaultRouteActionMaxStreamDurationArgsDict',
1136
1150
  'URLMapDefaultRouteActionRequestMirrorPolicyArgs',
1137
1151
  'URLMapDefaultRouteActionRequestMirrorPolicyArgsDict',
1138
1152
  'URLMapDefaultRouteActionRetryPolicyArgs',
@@ -1179,6 +1193,8 @@ __all__ = [
1179
1193
  'URLMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayArgsDict',
1180
1194
  'URLMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs',
1181
1195
  'URLMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgsDict',
1196
+ 'URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgs',
1197
+ 'URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgsDict',
1182
1198
  'URLMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs',
1183
1199
  'URLMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgsDict',
1184
1200
  'URLMapPathMatcherDefaultRouteActionRetryPolicyArgs',
@@ -1223,6 +1239,8 @@ __all__ = [
1223
1239
  'URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayArgsDict',
1224
1240
  'URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelayArgs',
1225
1241
  'URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelayArgsDict',
1242
+ 'URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgs',
1243
+ 'URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgsDict',
1226
1244
  'URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgs',
1227
1245
  'URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgsDict',
1228
1246
  'URLMapPathMatcherPathRuleRouteActionRetryPolicyArgs',
@@ -1275,6 +1293,8 @@ __all__ = [
1275
1293
  'URLMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayArgsDict',
1276
1294
  'URLMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelayArgs',
1277
1295
  'URLMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelayArgsDict',
1296
+ 'URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgs',
1297
+ 'URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgsDict',
1278
1298
  'URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgs',
1279
1299
  'URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgsDict',
1280
1300
  'URLMapPathMatcherRouteRuleRouteActionRetryPolicyArgs',
@@ -5914,6 +5934,44 @@ class DiskIamMemberConditionArgs:
5914
5934
  pulumi.set(self, "description", value)
5915
5935
 
5916
5936
 
5937
+ if not MYPY:
5938
+ class DiskParamsArgsDict(TypedDict):
5939
+ resource_manager_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
5940
+ """
5941
+ Resource manager tags to be bound to the disk. Tag keys and values have the
5942
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
5943
+ and values are in the format tagValues/456.
5944
+ """
5945
+ elif False:
5946
+ DiskParamsArgsDict: TypeAlias = Mapping[str, Any]
5947
+
5948
+ @pulumi.input_type
5949
+ class DiskParamsArgs:
5950
+ def __init__(__self__, *,
5951
+ resource_manager_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
5952
+ """
5953
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] resource_manager_tags: Resource manager tags to be bound to the disk. Tag keys and values have the
5954
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
5955
+ and values are in the format tagValues/456.
5956
+ """
5957
+ if resource_manager_tags is not None:
5958
+ pulumi.set(__self__, "resource_manager_tags", resource_manager_tags)
5959
+
5960
+ @property
5961
+ @pulumi.getter(name="resourceManagerTags")
5962
+ def resource_manager_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
5963
+ """
5964
+ Resource manager tags to be bound to the disk. Tag keys and values have the
5965
+ same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id},
5966
+ and values are in the format tagValues/456.
5967
+ """
5968
+ return pulumi.get(self, "resource_manager_tags")
5969
+
5970
+ @resource_manager_tags.setter
5971
+ def resource_manager_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
5972
+ pulumi.set(self, "resource_manager_tags", value)
5973
+
5974
+
5917
5975
  if not MYPY:
5918
5976
  class DiskSourceImageEncryptionKeyArgsDict(TypedDict):
5919
5977
  kms_key_self_link: NotRequired[pulumi.Input[str]]
@@ -21538,6 +21596,132 @@ class InstanceTemplateShieldedInstanceConfigArgs:
21538
21596
  pulumi.set(self, "enable_vtpm", value)
21539
21597
 
21540
21598
 
21599
+ if not MYPY:
21600
+ class InstantSnapshotIamBindingConditionArgsDict(TypedDict):
21601
+ expression: pulumi.Input[str]
21602
+ """
21603
+ Textual representation of an expression in Common Expression Language syntax.
21604
+ """
21605
+ title: pulumi.Input[str]
21606
+ """
21607
+ A title for the expression, i.e. a short string describing its purpose.
21608
+ """
21609
+ description: NotRequired[pulumi.Input[str]]
21610
+ elif False:
21611
+ InstantSnapshotIamBindingConditionArgsDict: TypeAlias = Mapping[str, Any]
21612
+
21613
+ @pulumi.input_type
21614
+ class InstantSnapshotIamBindingConditionArgs:
21615
+ def __init__(__self__, *,
21616
+ expression: pulumi.Input[str],
21617
+ title: pulumi.Input[str],
21618
+ description: Optional[pulumi.Input[str]] = None):
21619
+ """
21620
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
21621
+ :param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
21622
+ """
21623
+ pulumi.set(__self__, "expression", expression)
21624
+ pulumi.set(__self__, "title", title)
21625
+ if description is not None:
21626
+ pulumi.set(__self__, "description", description)
21627
+
21628
+ @property
21629
+ @pulumi.getter
21630
+ def expression(self) -> pulumi.Input[str]:
21631
+ """
21632
+ Textual representation of an expression in Common Expression Language syntax.
21633
+ """
21634
+ return pulumi.get(self, "expression")
21635
+
21636
+ @expression.setter
21637
+ def expression(self, value: pulumi.Input[str]):
21638
+ pulumi.set(self, "expression", value)
21639
+
21640
+ @property
21641
+ @pulumi.getter
21642
+ def title(self) -> pulumi.Input[str]:
21643
+ """
21644
+ A title for the expression, i.e. a short string describing its purpose.
21645
+ """
21646
+ return pulumi.get(self, "title")
21647
+
21648
+ @title.setter
21649
+ def title(self, value: pulumi.Input[str]):
21650
+ pulumi.set(self, "title", value)
21651
+
21652
+ @property
21653
+ @pulumi.getter
21654
+ def description(self) -> Optional[pulumi.Input[str]]:
21655
+ return pulumi.get(self, "description")
21656
+
21657
+ @description.setter
21658
+ def description(self, value: Optional[pulumi.Input[str]]):
21659
+ pulumi.set(self, "description", value)
21660
+
21661
+
21662
+ if not MYPY:
21663
+ class InstantSnapshotIamMemberConditionArgsDict(TypedDict):
21664
+ expression: pulumi.Input[str]
21665
+ """
21666
+ Textual representation of an expression in Common Expression Language syntax.
21667
+ """
21668
+ title: pulumi.Input[str]
21669
+ """
21670
+ A title for the expression, i.e. a short string describing its purpose.
21671
+ """
21672
+ description: NotRequired[pulumi.Input[str]]
21673
+ elif False:
21674
+ InstantSnapshotIamMemberConditionArgsDict: TypeAlias = Mapping[str, Any]
21675
+
21676
+ @pulumi.input_type
21677
+ class InstantSnapshotIamMemberConditionArgs:
21678
+ def __init__(__self__, *,
21679
+ expression: pulumi.Input[str],
21680
+ title: pulumi.Input[str],
21681
+ description: Optional[pulumi.Input[str]] = None):
21682
+ """
21683
+ :param pulumi.Input[str] expression: Textual representation of an expression in Common Expression Language syntax.
21684
+ :param pulumi.Input[str] title: A title for the expression, i.e. a short string describing its purpose.
21685
+ """
21686
+ pulumi.set(__self__, "expression", expression)
21687
+ pulumi.set(__self__, "title", title)
21688
+ if description is not None:
21689
+ pulumi.set(__self__, "description", description)
21690
+
21691
+ @property
21692
+ @pulumi.getter
21693
+ def expression(self) -> pulumi.Input[str]:
21694
+ """
21695
+ Textual representation of an expression in Common Expression Language syntax.
21696
+ """
21697
+ return pulumi.get(self, "expression")
21698
+
21699
+ @expression.setter
21700
+ def expression(self, value: pulumi.Input[str]):
21701
+ pulumi.set(self, "expression", value)
21702
+
21703
+ @property
21704
+ @pulumi.getter
21705
+ def title(self) -> pulumi.Input[str]:
21706
+ """
21707
+ A title for the expression, i.e. a short string describing its purpose.
21708
+ """
21709
+ return pulumi.get(self, "title")
21710
+
21711
+ @title.setter
21712
+ def title(self, value: pulumi.Input[str]):
21713
+ pulumi.set(self, "title", value)
21714
+
21715
+ @property
21716
+ @pulumi.getter
21717
+ def description(self) -> Optional[pulumi.Input[str]]:
21718
+ return pulumi.get(self, "description")
21719
+
21720
+ @description.setter
21721
+ def description(self, value: Optional[pulumi.Input[str]]):
21722
+ pulumi.set(self, "description", value)
21723
+
21724
+
21541
21725
  if not MYPY:
21542
21726
  class InterconnectAttachmentPrivateInterconnectInfoArgsDict(TypedDict):
21543
21727
  tag8021q: NotRequired[pulumi.Input[int]]
@@ -51184,6 +51368,224 @@ class ResourcePolicySnapshotSchedulePolicySnapshotPropertiesArgs:
51184
51368
  pulumi.set(self, "storage_locations", value)
51185
51369
 
51186
51370
 
51371
+ if not MYPY:
51372
+ class RouteAsPathArgsDict(TypedDict):
51373
+ as_lists: NotRequired[pulumi.Input[Sequence[pulumi.Input[int]]]]
51374
+ """
51375
+ (Output)
51376
+ The AS numbers of the AS Path.
51377
+ """
51378
+ path_segment_type: NotRequired[pulumi.Input[str]]
51379
+ """
51380
+ (Output)
51381
+ The type of the AS Path, which can be one of the following values:
51382
+ - 'AS_SET': unordered set of autonomous systems that the route in has traversed
51383
+ - 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed
51384
+ - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed
51385
+ - 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed
51386
+ """
51387
+ elif False:
51388
+ RouteAsPathArgsDict: TypeAlias = Mapping[str, Any]
51389
+
51390
+ @pulumi.input_type
51391
+ class RouteAsPathArgs:
51392
+ def __init__(__self__, *,
51393
+ as_lists: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]] = None,
51394
+ path_segment_type: Optional[pulumi.Input[str]] = None):
51395
+ """
51396
+ :param pulumi.Input[Sequence[pulumi.Input[int]]] as_lists: (Output)
51397
+ The AS numbers of the AS Path.
51398
+ :param pulumi.Input[str] path_segment_type: (Output)
51399
+ The type of the AS Path, which can be one of the following values:
51400
+ - 'AS_SET': unordered set of autonomous systems that the route in has traversed
51401
+ - 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed
51402
+ - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed
51403
+ - 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed
51404
+ """
51405
+ if as_lists is not None:
51406
+ pulumi.set(__self__, "as_lists", as_lists)
51407
+ if path_segment_type is not None:
51408
+ pulumi.set(__self__, "path_segment_type", path_segment_type)
51409
+
51410
+ @property
51411
+ @pulumi.getter(name="asLists")
51412
+ def as_lists(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]:
51413
+ """
51414
+ (Output)
51415
+ The AS numbers of the AS Path.
51416
+ """
51417
+ return pulumi.get(self, "as_lists")
51418
+
51419
+ @as_lists.setter
51420
+ def as_lists(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[int]]]]):
51421
+ pulumi.set(self, "as_lists", value)
51422
+
51423
+ @property
51424
+ @pulumi.getter(name="pathSegmentType")
51425
+ def path_segment_type(self) -> Optional[pulumi.Input[str]]:
51426
+ """
51427
+ (Output)
51428
+ The type of the AS Path, which can be one of the following values:
51429
+ - 'AS_SET': unordered set of autonomous systems that the route in has traversed
51430
+ - 'AS_SEQUENCE': ordered set of autonomous systems that the route has traversed
51431
+ - 'AS_CONFED_SEQUENCE': ordered set of Member Autonomous Systems in the local confederation that the route has traversed
51432
+ - 'AS_CONFED_SET': unordered set of Member Autonomous Systems in the local confederation that the route has traversed
51433
+ """
51434
+ return pulumi.get(self, "path_segment_type")
51435
+
51436
+ @path_segment_type.setter
51437
+ def path_segment_type(self, value: Optional[pulumi.Input[str]]):
51438
+ pulumi.set(self, "path_segment_type", value)
51439
+
51440
+
51441
+ if not MYPY:
51442
+ class RouteWarningArgsDict(TypedDict):
51443
+ code: NotRequired[pulumi.Input[str]]
51444
+ """
51445
+ (Output)
51446
+ A warning code, if applicable. For example, Compute Engine returns
51447
+ NO_RESULTS_ON_PAGE if there are no results in the response.
51448
+ """
51449
+ datas: NotRequired[pulumi.Input[Sequence[pulumi.Input['RouteWarningDataArgsDict']]]]
51450
+ """
51451
+ (Output)
51452
+ Metadata about this warning in key: value format. For example:
51453
+ "data": { "key": "scope", "value": "zones/us-east1-d" }
51454
+ Structure is [documented below.
51455
+ """
51456
+ message: NotRequired[pulumi.Input[str]]
51457
+ """
51458
+ (Output)
51459
+ A human-readable description of the warning code.
51460
+ """
51461
+ elif False:
51462
+ RouteWarningArgsDict: TypeAlias = Mapping[str, Any]
51463
+
51464
+ @pulumi.input_type
51465
+ class RouteWarningArgs:
51466
+ def __init__(__self__, *,
51467
+ code: Optional[pulumi.Input[str]] = None,
51468
+ datas: Optional[pulumi.Input[Sequence[pulumi.Input['RouteWarningDataArgs']]]] = None,
51469
+ message: Optional[pulumi.Input[str]] = None):
51470
+ """
51471
+ :param pulumi.Input[str] code: (Output)
51472
+ A warning code, if applicable. For example, Compute Engine returns
51473
+ NO_RESULTS_ON_PAGE if there are no results in the response.
51474
+ :param pulumi.Input[Sequence[pulumi.Input['RouteWarningDataArgs']]] datas: (Output)
51475
+ Metadata about this warning in key: value format. For example:
51476
+ "data": { "key": "scope", "value": "zones/us-east1-d" }
51477
+ Structure is [documented below.
51478
+ :param pulumi.Input[str] message: (Output)
51479
+ A human-readable description of the warning code.
51480
+ """
51481
+ if code is not None:
51482
+ pulumi.set(__self__, "code", code)
51483
+ if datas is not None:
51484
+ pulumi.set(__self__, "datas", datas)
51485
+ if message is not None:
51486
+ pulumi.set(__self__, "message", message)
51487
+
51488
+ @property
51489
+ @pulumi.getter
51490
+ def code(self) -> Optional[pulumi.Input[str]]:
51491
+ """
51492
+ (Output)
51493
+ A warning code, if applicable. For example, Compute Engine returns
51494
+ NO_RESULTS_ON_PAGE if there are no results in the response.
51495
+ """
51496
+ return pulumi.get(self, "code")
51497
+
51498
+ @code.setter
51499
+ def code(self, value: Optional[pulumi.Input[str]]):
51500
+ pulumi.set(self, "code", value)
51501
+
51502
+ @property
51503
+ @pulumi.getter
51504
+ def datas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteWarningDataArgs']]]]:
51505
+ """
51506
+ (Output)
51507
+ Metadata about this warning in key: value format. For example:
51508
+ "data": { "key": "scope", "value": "zones/us-east1-d" }
51509
+ Structure is [documented below.
51510
+ """
51511
+ return pulumi.get(self, "datas")
51512
+
51513
+ @datas.setter
51514
+ def datas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteWarningDataArgs']]]]):
51515
+ pulumi.set(self, "datas", value)
51516
+
51517
+ @property
51518
+ @pulumi.getter
51519
+ def message(self) -> Optional[pulumi.Input[str]]:
51520
+ """
51521
+ (Output)
51522
+ A human-readable description of the warning code.
51523
+ """
51524
+ return pulumi.get(self, "message")
51525
+
51526
+ @message.setter
51527
+ def message(self, value: Optional[pulumi.Input[str]]):
51528
+ pulumi.set(self, "message", value)
51529
+
51530
+
51531
+ if not MYPY:
51532
+ class RouteWarningDataArgsDict(TypedDict):
51533
+ key: NotRequired[pulumi.Input[str]]
51534
+ """
51535
+ (Output)
51536
+ A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
51537
+ """
51538
+ value: NotRequired[pulumi.Input[str]]
51539
+ """
51540
+ (Output)
51541
+ A warning data value corresponding to the key.
51542
+ """
51543
+ elif False:
51544
+ RouteWarningDataArgsDict: TypeAlias = Mapping[str, Any]
51545
+
51546
+ @pulumi.input_type
51547
+ class RouteWarningDataArgs:
51548
+ def __init__(__self__, *,
51549
+ key: Optional[pulumi.Input[str]] = None,
51550
+ value: Optional[pulumi.Input[str]] = None):
51551
+ """
51552
+ :param pulumi.Input[str] key: (Output)
51553
+ A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
51554
+ :param pulumi.Input[str] value: (Output)
51555
+ A warning data value corresponding to the key.
51556
+ """
51557
+ if key is not None:
51558
+ pulumi.set(__self__, "key", key)
51559
+ if value is not None:
51560
+ pulumi.set(__self__, "value", value)
51561
+
51562
+ @property
51563
+ @pulumi.getter
51564
+ def key(self) -> Optional[pulumi.Input[str]]:
51565
+ """
51566
+ (Output)
51567
+ A key that provides more detail on the warning being returned. For example, for warnings where there are no results in a list request for a particular zone, this key might be scope and the key value might be the zone name. Other examples might be a key indicating a deprecated resource and a suggested replacement, or a warning about invalid network settings (for example, if an instance attempts to perform IP forwarding but is not enabled for IP forwarding).
51568
+ """
51569
+ return pulumi.get(self, "key")
51570
+
51571
+ @key.setter
51572
+ def key(self, value: Optional[pulumi.Input[str]]):
51573
+ pulumi.set(self, "key", value)
51574
+
51575
+ @property
51576
+ @pulumi.getter
51577
+ def value(self) -> Optional[pulumi.Input[str]]:
51578
+ """
51579
+ (Output)
51580
+ A warning data value corresponding to the key.
51581
+ """
51582
+ return pulumi.get(self, "value")
51583
+
51584
+ @value.setter
51585
+ def value(self, value: Optional[pulumi.Input[str]]):
51586
+ pulumi.set(self, "value", value)
51587
+
51588
+
51187
51589
  if not MYPY:
51188
51590
  class RouterBgpArgsDict(TypedDict):
51189
51591
  asn: pulumi.Input[int]
@@ -55972,6 +56374,15 @@ if not MYPY:
55972
56374
  timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
55973
56375
  Structure is documented below.
55974
56376
  """
56377
+ max_stream_duration: NotRequired[pulumi.Input['URLMapDefaultRouteActionMaxStreamDurationArgsDict']]
56378
+ """
56379
+ Specifies the maximum duration (timeout) for streams on the selected route.
56380
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
56381
+ has been fully processed (known as end-of-stream), the duration in this field
56382
+ is computed from the beginning of the stream until the response has been processed,
56383
+ including all retries. A stream that does not complete in this duration is closed.
56384
+ Structure is documented below.
56385
+ """
55975
56386
  request_mirror_policy: NotRequired[pulumi.Input['URLMapDefaultRouteActionRequestMirrorPolicyArgsDict']]
55976
56387
  """
55977
56388
  Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
@@ -56015,6 +56426,7 @@ class URLMapDefaultRouteActionArgs:
56015
56426
  def __init__(__self__, *,
56016
56427
  cors_policy: Optional[pulumi.Input['URLMapDefaultRouteActionCorsPolicyArgs']] = None,
56017
56428
  fault_injection_policy: Optional[pulumi.Input['URLMapDefaultRouteActionFaultInjectionPolicyArgs']] = None,
56429
+ max_stream_duration: Optional[pulumi.Input['URLMapDefaultRouteActionMaxStreamDurationArgs']] = None,
56018
56430
  request_mirror_policy: Optional[pulumi.Input['URLMapDefaultRouteActionRequestMirrorPolicyArgs']] = None,
56019
56431
  retry_policy: Optional[pulumi.Input['URLMapDefaultRouteActionRetryPolicyArgs']] = None,
56020
56432
  timeout: Optional[pulumi.Input['URLMapDefaultRouteActionTimeoutArgs']] = None,
@@ -56030,6 +56442,12 @@ class URLMapDefaultRouteActionArgs:
56030
56442
  by the Loadbalancer for a percentage of requests.
56031
56443
  timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
56032
56444
  Structure is documented below.
56445
+ :param pulumi.Input['URLMapDefaultRouteActionMaxStreamDurationArgs'] max_stream_duration: Specifies the maximum duration (timeout) for streams on the selected route.
56446
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
56447
+ has been fully processed (known as end-of-stream), the duration in this field
56448
+ is computed from the beginning of the stream until the response has been processed,
56449
+ including all retries. A stream that does not complete in this duration is closed.
56450
+ Structure is documented below.
56033
56451
  :param pulumi.Input['URLMapDefaultRouteActionRequestMirrorPolicyArgs'] request_mirror_policy: Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
56034
56452
  Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service,
56035
56453
  the host / authority header is suffixed with -shadow.
@@ -56055,6 +56473,8 @@ class URLMapDefaultRouteActionArgs:
56055
56473
  pulumi.set(__self__, "cors_policy", cors_policy)
56056
56474
  if fault_injection_policy is not None:
56057
56475
  pulumi.set(__self__, "fault_injection_policy", fault_injection_policy)
56476
+ if max_stream_duration is not None:
56477
+ pulumi.set(__self__, "max_stream_duration", max_stream_duration)
56058
56478
  if request_mirror_policy is not None:
56059
56479
  pulumi.set(__self__, "request_mirror_policy", request_mirror_policy)
56060
56480
  if retry_policy is not None:
@@ -56097,6 +56517,23 @@ class URLMapDefaultRouteActionArgs:
56097
56517
  def fault_injection_policy(self, value: Optional[pulumi.Input['URLMapDefaultRouteActionFaultInjectionPolicyArgs']]):
56098
56518
  pulumi.set(self, "fault_injection_policy", value)
56099
56519
 
56520
+ @property
56521
+ @pulumi.getter(name="maxStreamDuration")
56522
+ def max_stream_duration(self) -> Optional[pulumi.Input['URLMapDefaultRouteActionMaxStreamDurationArgs']]:
56523
+ """
56524
+ Specifies the maximum duration (timeout) for streams on the selected route.
56525
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
56526
+ has been fully processed (known as end-of-stream), the duration in this field
56527
+ is computed from the beginning of the stream until the response has been processed,
56528
+ including all retries. A stream that does not complete in this duration is closed.
56529
+ Structure is documented below.
56530
+ """
56531
+ return pulumi.get(self, "max_stream_duration")
56532
+
56533
+ @max_stream_duration.setter
56534
+ def max_stream_duration(self, value: Optional[pulumi.Input['URLMapDefaultRouteActionMaxStreamDurationArgs']]):
56535
+ pulumi.set(self, "max_stream_duration", value)
56536
+
56100
56537
  @property
56101
56538
  @pulumi.getter(name="requestMirrorPolicy")
56102
56539
  def request_mirror_policy(self) -> Optional[pulumi.Input['URLMapDefaultRouteActionRequestMirrorPolicyArgs']]:
@@ -56592,6 +57029,63 @@ class URLMapDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs:
56592
57029
  pulumi.set(self, "seconds", value)
56593
57030
 
56594
57031
 
57032
+ if not MYPY:
57033
+ class URLMapDefaultRouteActionMaxStreamDurationArgsDict(TypedDict):
57034
+ seconds: pulumi.Input[str]
57035
+ """
57036
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
57037
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
57038
+ """
57039
+ nanos: NotRequired[pulumi.Input[int]]
57040
+ """
57041
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
57042
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
57043
+ """
57044
+ elif False:
57045
+ URLMapDefaultRouteActionMaxStreamDurationArgsDict: TypeAlias = Mapping[str, Any]
57046
+
57047
+ @pulumi.input_type
57048
+ class URLMapDefaultRouteActionMaxStreamDurationArgs:
57049
+ def __init__(__self__, *,
57050
+ seconds: pulumi.Input[str],
57051
+ nanos: Optional[pulumi.Input[int]] = None):
57052
+ """
57053
+ :param pulumi.Input[str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
57054
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
57055
+ :param pulumi.Input[int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
57056
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
57057
+ """
57058
+ pulumi.set(__self__, "seconds", seconds)
57059
+ if nanos is not None:
57060
+ pulumi.set(__self__, "nanos", nanos)
57061
+
57062
+ @property
57063
+ @pulumi.getter
57064
+ def seconds(self) -> pulumi.Input[str]:
57065
+ """
57066
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
57067
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
57068
+ """
57069
+ return pulumi.get(self, "seconds")
57070
+
57071
+ @seconds.setter
57072
+ def seconds(self, value: pulumi.Input[str]):
57073
+ pulumi.set(self, "seconds", value)
57074
+
57075
+ @property
57076
+ @pulumi.getter
57077
+ def nanos(self) -> Optional[pulumi.Input[int]]:
57078
+ """
57079
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
57080
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
57081
+ """
57082
+ return pulumi.get(self, "nanos")
57083
+
57084
+ @nanos.setter
57085
+ def nanos(self, value: Optional[pulumi.Input[int]]):
57086
+ pulumi.set(self, "nanos", value)
57087
+
57088
+
56595
57089
  if not MYPY:
56596
57090
  class URLMapDefaultRouteActionRequestMirrorPolicyArgsDict(TypedDict):
56597
57091
  backend_service: pulumi.Input[str]
@@ -58291,6 +58785,15 @@ if not MYPY:
58291
58785
  timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
58292
58786
  Structure is documented below.
58293
58787
  """
58788
+ max_stream_duration: NotRequired[pulumi.Input['URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgsDict']]
58789
+ """
58790
+ Specifies the maximum duration (timeout) for streams on the selected route.
58791
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
58792
+ has been fully processed (known as end-of-stream), the duration in this field
58793
+ is computed from the beginning of the stream until the response has been processed,
58794
+ including all retries. A stream that does not complete in this duration is closed.
58795
+ Structure is documented below.
58796
+ """
58294
58797
  request_mirror_policy: NotRequired[pulumi.Input['URLMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgsDict']]
58295
58798
  """
58296
58799
  Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
@@ -58334,6 +58837,7 @@ class URLMapPathMatcherDefaultRouteActionArgs:
58334
58837
  def __init__(__self__, *,
58335
58838
  cors_policy: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionCorsPolicyArgs']] = None,
58336
58839
  fault_injection_policy: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgs']] = None,
58840
+ max_stream_duration: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgs']] = None,
58337
58841
  request_mirror_policy: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs']] = None,
58338
58842
  retry_policy: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionRetryPolicyArgs']] = None,
58339
58843
  timeout: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionTimeoutArgs']] = None,
@@ -58349,6 +58853,12 @@ class URLMapPathMatcherDefaultRouteActionArgs:
58349
58853
  by the Loadbalancer for a percentage of requests.
58350
58854
  timeout and retryPolicy will be ignored by clients that are configured with a faultInjectionPolicy.
58351
58855
  Structure is documented below.
58856
+ :param pulumi.Input['URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgs'] max_stream_duration: Specifies the maximum duration (timeout) for streams on the selected route.
58857
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
58858
+ has been fully processed (known as end-of-stream), the duration in this field
58859
+ is computed from the beginning of the stream until the response has been processed,
58860
+ including all retries. A stream that does not complete in this duration is closed.
58861
+ Structure is documented below.
58352
58862
  :param pulumi.Input['URLMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs'] request_mirror_policy: Specifies the policy on how requests intended for the route's backends are shadowed to a separate mirrored backend service.
58353
58863
  Loadbalancer does not wait for responses from the shadow service. Prior to sending traffic to the shadow service,
58354
58864
  the host / authority header is suffixed with -shadow.
@@ -58374,6 +58884,8 @@ class URLMapPathMatcherDefaultRouteActionArgs:
58374
58884
  pulumi.set(__self__, "cors_policy", cors_policy)
58375
58885
  if fault_injection_policy is not None:
58376
58886
  pulumi.set(__self__, "fault_injection_policy", fault_injection_policy)
58887
+ if max_stream_duration is not None:
58888
+ pulumi.set(__self__, "max_stream_duration", max_stream_duration)
58377
58889
  if request_mirror_policy is not None:
58378
58890
  pulumi.set(__self__, "request_mirror_policy", request_mirror_policy)
58379
58891
  if retry_policy is not None:
@@ -58416,6 +58928,23 @@ class URLMapPathMatcherDefaultRouteActionArgs:
58416
58928
  def fault_injection_policy(self, value: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionFaultInjectionPolicyArgs']]):
58417
58929
  pulumi.set(self, "fault_injection_policy", value)
58418
58930
 
58931
+ @property
58932
+ @pulumi.getter(name="maxStreamDuration")
58933
+ def max_stream_duration(self) -> Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgs']]:
58934
+ """
58935
+ Specifies the maximum duration (timeout) for streams on the selected route.
58936
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
58937
+ has been fully processed (known as end-of-stream), the duration in this field
58938
+ is computed from the beginning of the stream until the response has been processed,
58939
+ including all retries. A stream that does not complete in this duration is closed.
58940
+ Structure is documented below.
58941
+ """
58942
+ return pulumi.get(self, "max_stream_duration")
58943
+
58944
+ @max_stream_duration.setter
58945
+ def max_stream_duration(self, value: Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgs']]):
58946
+ pulumi.set(self, "max_stream_duration", value)
58947
+
58419
58948
  @property
58420
58949
  @pulumi.getter(name="requestMirrorPolicy")
58421
58950
  def request_mirror_policy(self) -> Optional[pulumi.Input['URLMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgs']]:
@@ -58911,6 +59440,63 @@ class URLMapPathMatcherDefaultRouteActionFaultInjectionPolicyDelayFixedDelayArgs
58911
59440
  pulumi.set(self, "seconds", value)
58912
59441
 
58913
59442
 
59443
+ if not MYPY:
59444
+ class URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgsDict(TypedDict):
59445
+ seconds: pulumi.Input[str]
59446
+ """
59447
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
59448
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
59449
+ """
59450
+ nanos: NotRequired[pulumi.Input[int]]
59451
+ """
59452
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
59453
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
59454
+ """
59455
+ elif False:
59456
+ URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgsDict: TypeAlias = Mapping[str, Any]
59457
+
59458
+ @pulumi.input_type
59459
+ class URLMapPathMatcherDefaultRouteActionMaxStreamDurationArgs:
59460
+ def __init__(__self__, *,
59461
+ seconds: pulumi.Input[str],
59462
+ nanos: Optional[pulumi.Input[int]] = None):
59463
+ """
59464
+ :param pulumi.Input[str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
59465
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
59466
+ :param pulumi.Input[int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
59467
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
59468
+ """
59469
+ pulumi.set(__self__, "seconds", seconds)
59470
+ if nanos is not None:
59471
+ pulumi.set(__self__, "nanos", nanos)
59472
+
59473
+ @property
59474
+ @pulumi.getter
59475
+ def seconds(self) -> pulumi.Input[str]:
59476
+ """
59477
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
59478
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
59479
+ """
59480
+ return pulumi.get(self, "seconds")
59481
+
59482
+ @seconds.setter
59483
+ def seconds(self, value: pulumi.Input[str]):
59484
+ pulumi.set(self, "seconds", value)
59485
+
59486
+ @property
59487
+ @pulumi.getter
59488
+ def nanos(self) -> Optional[pulumi.Input[int]]:
59489
+ """
59490
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
59491
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
59492
+ """
59493
+ return pulumi.get(self, "nanos")
59494
+
59495
+ @nanos.setter
59496
+ def nanos(self, value: Optional[pulumi.Input[int]]):
59497
+ pulumi.set(self, "nanos", value)
59498
+
59499
+
58914
59500
  if not MYPY:
58915
59501
  class URLMapPathMatcherDefaultRouteActionRequestMirrorPolicyArgsDict(TypedDict):
58916
59502
  backend_service: pulumi.Input[str]
@@ -60411,6 +60997,15 @@ if not MYPY:
60411
60997
  ignored by clients that are configured with a fault_injection_policy.
60412
60998
  Structure is documented below.
60413
60999
  """
61000
+ max_stream_duration: NotRequired[pulumi.Input['URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgsDict']]
61001
+ """
61002
+ Specifies the maximum duration (timeout) for streams on the selected route.
61003
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
61004
+ has been fully processed (known as end-of-stream), the duration in this field
61005
+ is computed from the beginning of the stream until the response has been processed,
61006
+ including all retries. A stream that does not complete in this duration is closed.
61007
+ Structure is documented below.
61008
+ """
60414
61009
  request_mirror_policy: NotRequired[pulumi.Input['URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgsDict']]
60415
61010
  """
60416
61011
  Specifies the policy on how requests intended for the route's backends are
@@ -60458,6 +61053,7 @@ class URLMapPathMatcherPathRuleRouteActionArgs:
60458
61053
  def __init__(__self__, *,
60459
61054
  cors_policy: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionCorsPolicyArgs']] = None,
60460
61055
  fault_injection_policy: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyArgs']] = None,
61056
+ max_stream_duration: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgs']] = None,
60461
61057
  request_mirror_policy: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgs']] = None,
60462
61058
  retry_policy: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionRetryPolicyArgs']] = None,
60463
61059
  timeout: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionTimeoutArgs']] = None,
@@ -60475,6 +61071,12 @@ class URLMapPathMatcherPathRuleRouteActionArgs:
60475
61071
  Loadbalancer for a percentage of requests. timeout and retry_policy will be
60476
61072
  ignored by clients that are configured with a fault_injection_policy.
60477
61073
  Structure is documented below.
61074
+ :param pulumi.Input['URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgs'] max_stream_duration: Specifies the maximum duration (timeout) for streams on the selected route.
61075
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
61076
+ has been fully processed (known as end-of-stream), the duration in this field
61077
+ is computed from the beginning of the stream until the response has been processed,
61078
+ including all retries. A stream that does not complete in this duration is closed.
61079
+ Structure is documented below.
60478
61080
  :param pulumi.Input['URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgs'] request_mirror_policy: Specifies the policy on how requests intended for the route's backends are
60479
61081
  shadowed to a separate mirrored backend service. Loadbalancer does not wait for
60480
61082
  responses from the shadow service. Prior to sending traffic to the shadow
@@ -60504,6 +61106,8 @@ class URLMapPathMatcherPathRuleRouteActionArgs:
60504
61106
  pulumi.set(__self__, "cors_policy", cors_policy)
60505
61107
  if fault_injection_policy is not None:
60506
61108
  pulumi.set(__self__, "fault_injection_policy", fault_injection_policy)
61109
+ if max_stream_duration is not None:
61110
+ pulumi.set(__self__, "max_stream_duration", max_stream_duration)
60507
61111
  if request_mirror_policy is not None:
60508
61112
  pulumi.set(__self__, "request_mirror_policy", request_mirror_policy)
60509
61113
  if retry_policy is not None:
@@ -60548,6 +61152,23 @@ class URLMapPathMatcherPathRuleRouteActionArgs:
60548
61152
  def fault_injection_policy(self, value: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyArgs']]):
60549
61153
  pulumi.set(self, "fault_injection_policy", value)
60550
61154
 
61155
+ @property
61156
+ @pulumi.getter(name="maxStreamDuration")
61157
+ def max_stream_duration(self) -> Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgs']]:
61158
+ """
61159
+ Specifies the maximum duration (timeout) for streams on the selected route.
61160
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
61161
+ has been fully processed (known as end-of-stream), the duration in this field
61162
+ is computed from the beginning of the stream until the response has been processed,
61163
+ including all retries. A stream that does not complete in this duration is closed.
61164
+ Structure is documented below.
61165
+ """
61166
+ return pulumi.get(self, "max_stream_duration")
61167
+
61168
+ @max_stream_duration.setter
61169
+ def max_stream_duration(self, value: Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgs']]):
61170
+ pulumi.set(self, "max_stream_duration", value)
61171
+
60551
61172
  @property
60552
61173
  @pulumi.getter(name="requestMirrorPolicy")
60553
61174
  def request_mirror_policy(self) -> Optional[pulumi.Input['URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgs']]:
@@ -61041,6 +61662,63 @@ class URLMapPathMatcherPathRuleRouteActionFaultInjectionPolicyDelayFixedDelayArg
61041
61662
  pulumi.set(self, "nanos", value)
61042
61663
 
61043
61664
 
61665
+ if not MYPY:
61666
+ class URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgsDict(TypedDict):
61667
+ seconds: pulumi.Input[str]
61668
+ """
61669
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
61670
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
61671
+ """
61672
+ nanos: NotRequired[pulumi.Input[int]]
61673
+ """
61674
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
61675
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
61676
+ """
61677
+ elif False:
61678
+ URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgsDict: TypeAlias = Mapping[str, Any]
61679
+
61680
+ @pulumi.input_type
61681
+ class URLMapPathMatcherPathRuleRouteActionMaxStreamDurationArgs:
61682
+ def __init__(__self__, *,
61683
+ seconds: pulumi.Input[str],
61684
+ nanos: Optional[pulumi.Input[int]] = None):
61685
+ """
61686
+ :param pulumi.Input[str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
61687
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
61688
+ :param pulumi.Input[int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
61689
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
61690
+ """
61691
+ pulumi.set(__self__, "seconds", seconds)
61692
+ if nanos is not None:
61693
+ pulumi.set(__self__, "nanos", nanos)
61694
+
61695
+ @property
61696
+ @pulumi.getter
61697
+ def seconds(self) -> pulumi.Input[str]:
61698
+ """
61699
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
61700
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
61701
+ """
61702
+ return pulumi.get(self, "seconds")
61703
+
61704
+ @seconds.setter
61705
+ def seconds(self, value: pulumi.Input[str]):
61706
+ pulumi.set(self, "seconds", value)
61707
+
61708
+ @property
61709
+ @pulumi.getter
61710
+ def nanos(self) -> Optional[pulumi.Input[int]]:
61711
+ """
61712
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
61713
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
61714
+ """
61715
+ return pulumi.get(self, "nanos")
61716
+
61717
+ @nanos.setter
61718
+ def nanos(self, value: Optional[pulumi.Input[int]]):
61719
+ pulumi.set(self, "nanos", value)
61720
+
61721
+
61044
61722
  if not MYPY:
61045
61723
  class URLMapPathMatcherPathRuleRouteActionRequestMirrorPolicyArgsDict(TypedDict):
61046
61724
  backend_service: pulumi.Input[str]
@@ -63203,6 +63881,15 @@ if not MYPY:
63203
63881
  ignored by clients that are configured with a fault_injection_policy.
63204
63882
  Structure is documented below.
63205
63883
  """
63884
+ max_stream_duration: NotRequired[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgsDict']]
63885
+ """
63886
+ Specifies the maximum duration (timeout) for streams on the selected route.
63887
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
63888
+ has been fully processed (known as end-of-stream), the duration in this field
63889
+ is computed from the beginning of the stream until the response has been processed,
63890
+ including all retries. A stream that does not complete in this duration is closed.
63891
+ Structure is documented below.
63892
+ """
63206
63893
  request_mirror_policy: NotRequired[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgsDict']]
63207
63894
  """
63208
63895
  Specifies the policy on how requests intended for the route's backends are
@@ -63250,6 +63937,7 @@ class URLMapPathMatcherRouteRuleRouteActionArgs:
63250
63937
  def __init__(__self__, *,
63251
63938
  cors_policy: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionCorsPolicyArgs']] = None,
63252
63939
  fault_injection_policy: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyArgs']] = None,
63940
+ max_stream_duration: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgs']] = None,
63253
63941
  request_mirror_policy: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgs']] = None,
63254
63942
  retry_policy: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionRetryPolicyArgs']] = None,
63255
63943
  timeout: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionTimeoutArgs']] = None,
@@ -63267,6 +63955,12 @@ class URLMapPathMatcherRouteRuleRouteActionArgs:
63267
63955
  Loadbalancer for a percentage of requests. timeout and retry_policy will be
63268
63956
  ignored by clients that are configured with a fault_injection_policy.
63269
63957
  Structure is documented below.
63958
+ :param pulumi.Input['URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgs'] max_stream_duration: Specifies the maximum duration (timeout) for streams on the selected route.
63959
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
63960
+ has been fully processed (known as end-of-stream), the duration in this field
63961
+ is computed from the beginning of the stream until the response has been processed,
63962
+ including all retries. A stream that does not complete in this duration is closed.
63963
+ Structure is documented below.
63270
63964
  :param pulumi.Input['URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgs'] request_mirror_policy: Specifies the policy on how requests intended for the route's backends are
63271
63965
  shadowed to a separate mirrored backend service. Loadbalancer does not wait for
63272
63966
  responses from the shadow service. Prior to sending traffic to the shadow
@@ -63296,6 +63990,8 @@ class URLMapPathMatcherRouteRuleRouteActionArgs:
63296
63990
  pulumi.set(__self__, "cors_policy", cors_policy)
63297
63991
  if fault_injection_policy is not None:
63298
63992
  pulumi.set(__self__, "fault_injection_policy", fault_injection_policy)
63993
+ if max_stream_duration is not None:
63994
+ pulumi.set(__self__, "max_stream_duration", max_stream_duration)
63299
63995
  if request_mirror_policy is not None:
63300
63996
  pulumi.set(__self__, "request_mirror_policy", request_mirror_policy)
63301
63997
  if retry_policy is not None:
@@ -63340,6 +64036,23 @@ class URLMapPathMatcherRouteRuleRouteActionArgs:
63340
64036
  def fault_injection_policy(self, value: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyArgs']]):
63341
64037
  pulumi.set(self, "fault_injection_policy", value)
63342
64038
 
64039
+ @property
64040
+ @pulumi.getter(name="maxStreamDuration")
64041
+ def max_stream_duration(self) -> Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgs']]:
64042
+ """
64043
+ Specifies the maximum duration (timeout) for streams on the selected route.
64044
+ Unlike the `Timeout` field where the timeout duration starts from the time the request
64045
+ has been fully processed (known as end-of-stream), the duration in this field
64046
+ is computed from the beginning of the stream until the response has been processed,
64047
+ including all retries. A stream that does not complete in this duration is closed.
64048
+ Structure is documented below.
64049
+ """
64050
+ return pulumi.get(self, "max_stream_duration")
64051
+
64052
+ @max_stream_duration.setter
64053
+ def max_stream_duration(self, value: Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgs']]):
64054
+ pulumi.set(self, "max_stream_duration", value)
64055
+
63343
64056
  @property
63344
64057
  @pulumi.getter(name="requestMirrorPolicy")
63345
64058
  def request_mirror_policy(self) -> Optional[pulumi.Input['URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgs']]:
@@ -63838,6 +64551,63 @@ class URLMapPathMatcherRouteRuleRouteActionFaultInjectionPolicyDelayFixedDelayAr
63838
64551
  pulumi.set(self, "nanos", value)
63839
64552
 
63840
64553
 
64554
+ if not MYPY:
64555
+ class URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgsDict(TypedDict):
64556
+ seconds: pulumi.Input[str]
64557
+ """
64558
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
64559
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
64560
+ """
64561
+ nanos: NotRequired[pulumi.Input[int]]
64562
+ """
64563
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
64564
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
64565
+ """
64566
+ elif False:
64567
+ URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgsDict: TypeAlias = Mapping[str, Any]
64568
+
64569
+ @pulumi.input_type
64570
+ class URLMapPathMatcherRouteRuleRouteActionMaxStreamDurationArgs:
64571
+ def __init__(__self__, *,
64572
+ seconds: pulumi.Input[str],
64573
+ nanos: Optional[pulumi.Input[int]] = None):
64574
+ """
64575
+ :param pulumi.Input[str] seconds: Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
64576
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
64577
+ :param pulumi.Input[int] nanos: Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
64578
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
64579
+ """
64580
+ pulumi.set(__self__, "seconds", seconds)
64581
+ if nanos is not None:
64582
+ pulumi.set(__self__, "nanos", nanos)
64583
+
64584
+ @property
64585
+ @pulumi.getter
64586
+ def seconds(self) -> pulumi.Input[str]:
64587
+ """
64588
+ Span of time at a resolution of a second. Must be from 0 to 315,576,000,000 inclusive.
64589
+ Note: these bounds are computed from: 60 sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years
64590
+ """
64591
+ return pulumi.get(self, "seconds")
64592
+
64593
+ @seconds.setter
64594
+ def seconds(self, value: pulumi.Input[str]):
64595
+ pulumi.set(self, "seconds", value)
64596
+
64597
+ @property
64598
+ @pulumi.getter
64599
+ def nanos(self) -> Optional[pulumi.Input[int]]:
64600
+ """
64601
+ Span of time that's a fraction of a second at nanosecond resolution. Durations less than one second are represented
64602
+ with a 0 seconds field and a positive nanos field. Must be from 0 to 999,999,999 inclusive.
64603
+ """
64604
+ return pulumi.get(self, "nanos")
64605
+
64606
+ @nanos.setter
64607
+ def nanos(self, value: Optional[pulumi.Input[int]]):
64608
+ pulumi.set(self, "nanos", value)
64609
+
64610
+
63841
64611
  if not MYPY:
63842
64612
  class URLMapPathMatcherRouteRuleRouteActionRequestMirrorPolicyArgsDict(TypedDict):
63843
64613
  backend_service: pulumi.Input[str]