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
@@ -86,7 +86,8 @@ class RegionBackendServiceArgs:
86
86
  check can be specified.
87
87
  A health check must be specified unless the backend service uses an internet
88
88
  or serverless NEG as a backend.
89
- :param pulumi.Input['RegionBackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy
89
+ :param pulumi.Input['RegionBackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy.
90
+ If OAuth client is not set, Google-managed OAuth client is used.
90
91
  Structure is documented below.
91
92
  :param pulumi.Input[str] ip_address_selection_policy: Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
92
93
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -406,7 +407,8 @@ class RegionBackendServiceArgs:
406
407
  @pulumi.getter
407
408
  def iap(self) -> Optional[pulumi.Input['RegionBackendServiceIapArgs']]:
408
409
  """
409
- Settings for enabling Cloud Identity Aware Proxy
410
+ Settings for enabling Cloud Identity Aware Proxy.
411
+ If OAuth client is not set, Google-managed OAuth client is used.
410
412
  Structure is documented below.
411
413
  """
412
414
  return pulumi.get(self, "iap")
@@ -768,7 +770,8 @@ class _RegionBackendServiceState:
768
770
  check can be specified.
769
771
  A health check must be specified unless the backend service uses an internet
770
772
  or serverless NEG as a backend.
771
- :param pulumi.Input['RegionBackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy
773
+ :param pulumi.Input['RegionBackendServiceIapArgs'] iap: Settings for enabling Cloud Identity Aware Proxy.
774
+ If OAuth client is not set, Google-managed OAuth client is used.
772
775
  Structure is documented below.
773
776
  :param pulumi.Input[str] ip_address_selection_policy: Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
774
777
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -1134,7 +1137,8 @@ class _RegionBackendServiceState:
1134
1137
  @pulumi.getter
1135
1138
  def iap(self) -> Optional[pulumi.Input['RegionBackendServiceIapArgs']]:
1136
1139
  """
1137
- Settings for enabling Cloud Identity Aware Proxy
1140
+ Settings for enabling Cloud Identity Aware Proxy.
1141
+ If OAuth client is not set, Google-managed OAuth client is used.
1138
1142
  Structure is documented below.
1139
1143
  """
1140
1144
  return pulumi.get(self, "iap")
@@ -1839,7 +1843,8 @@ class RegionBackendService(pulumi.CustomResource):
1839
1843
  check can be specified.
1840
1844
  A health check must be specified unless the backend service uses an internet
1841
1845
  or serverless NEG as a backend.
1842
- :param pulumi.Input[Union['RegionBackendServiceIapArgs', 'RegionBackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy
1846
+ :param pulumi.Input[Union['RegionBackendServiceIapArgs', 'RegionBackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy.
1847
+ If OAuth client is not set, Google-managed OAuth client is used.
1843
1848
  Structure is documented below.
1844
1849
  :param pulumi.Input[str] ip_address_selection_policy: Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
1845
1850
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -2456,7 +2461,8 @@ class RegionBackendService(pulumi.CustomResource):
2456
2461
  check can be specified.
2457
2462
  A health check must be specified unless the backend service uses an internet
2458
2463
  or serverless NEG as a backend.
2459
- :param pulumi.Input[Union['RegionBackendServiceIapArgs', 'RegionBackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy
2464
+ :param pulumi.Input[Union['RegionBackendServiceIapArgs', 'RegionBackendServiceIapArgsDict']] iap: Settings for enabling Cloud Identity Aware Proxy.
2465
+ If OAuth client is not set, Google-managed OAuth client is used.
2460
2466
  Structure is documented below.
2461
2467
  :param pulumi.Input[str] ip_address_selection_policy: Specifies preference of traffic to the backend (from the proxy and from the client for proxyless gRPC).
2462
2468
  Possible values are: `IPV4_ONLY`, `PREFER_IPV6`, `IPV6_ONLY`.
@@ -2739,7 +2745,8 @@ class RegionBackendService(pulumi.CustomResource):
2739
2745
  @pulumi.getter
2740
2746
  def iap(self) -> pulumi.Output['outputs.RegionBackendServiceIap']:
2741
2747
  """
2742
- Settings for enabling Cloud Identity Aware Proxy
2748
+ Settings for enabling Cloud Identity Aware Proxy.
2749
+ If OAuth client is not set, Google-managed OAuth client is used.
2743
2750
  Structure is documented below.
2744
2751
  """
2745
2752
  return pulumi.get(self, "iap")
@@ -13,6 +13,8 @@ if sys.version_info >= (3, 11):
13
13
  else:
14
14
  from typing_extensions import NotRequired, TypedDict, TypeAlias
15
15
  from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
16
18
 
17
19
  __all__ = ['RouteArgs', 'Route']
18
20
 
@@ -317,11 +319,14 @@ class RouteArgs:
317
319
  @pulumi.input_type
318
320
  class _RouteState:
319
321
  def __init__(__self__, *,
322
+ as_paths: Optional[pulumi.Input[Sequence[pulumi.Input['RouteAsPathArgs']]]] = None,
323
+ creation_timestamp: Optional[pulumi.Input[str]] = None,
320
324
  description: Optional[pulumi.Input[str]] = None,
321
325
  dest_range: Optional[pulumi.Input[str]] = None,
322
326
  name: Optional[pulumi.Input[str]] = None,
323
327
  network: Optional[pulumi.Input[str]] = None,
324
328
  next_hop_gateway: Optional[pulumi.Input[str]] = None,
329
+ next_hop_hub: Optional[pulumi.Input[str]] = None,
325
330
  next_hop_ilb: Optional[pulumi.Input[str]] = None,
326
331
  next_hop_instance: Optional[pulumi.Input[str]] = None,
327
332
  next_hop_instance_zone: Optional[pulumi.Input[str]] = None,
@@ -330,13 +335,19 @@ class _RouteState:
330
335
  next_hop_med: Optional[pulumi.Input[str]] = None,
331
336
  next_hop_network: Optional[pulumi.Input[str]] = None,
332
337
  next_hop_origin: Optional[pulumi.Input[str]] = None,
338
+ next_hop_peering: Optional[pulumi.Input[str]] = None,
333
339
  next_hop_vpn_tunnel: Optional[pulumi.Input[str]] = None,
334
340
  priority: Optional[pulumi.Input[int]] = None,
335
341
  project: Optional[pulumi.Input[str]] = None,
342
+ route_status: Optional[pulumi.Input[str]] = None,
343
+ route_type: Optional[pulumi.Input[str]] = None,
336
344
  self_link: Optional[pulumi.Input[str]] = None,
337
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
345
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
346
+ warnings: Optional[pulumi.Input[Sequence[pulumi.Input['RouteWarningArgs']]]] = None):
338
347
  """
339
348
  Input properties used for looking up and filtering Route resources.
349
+ :param pulumi.Input[Sequence[pulumi.Input['RouteAsPathArgs']]] as_paths: Structure is documented below.
350
+ :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
340
351
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property
341
352
  when you create the resource.
342
353
  :param pulumi.Input[str] dest_range: The destination range of outgoing packets that this route applies to.
@@ -359,6 +370,7 @@ class _RouteState:
359
370
  * `projects/project/global/gateways/default-internet-gateway`
360
371
  * `global/gateways/default-internet-gateway`
361
372
  * The string `default-internet-gateway`.
373
+ :param pulumi.Input[str] next_hop_hub: The hub network that should handle matching packets, which should conform to RFC1035.
362
374
  :param pulumi.Input[str] next_hop_ilb: The IP address or URL to a forwarding rule of type
363
375
  loadBalancingScheme=INTERNAL that should handle matching
364
376
  packets.
@@ -387,6 +399,7 @@ class _RouteState:
387
399
  :param pulumi.Input[str] next_hop_med: Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.
388
400
  :param pulumi.Input[str] next_hop_network: URL to a Network that should handle matching packets.
389
401
  :param pulumi.Input[str] next_hop_origin: Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.
402
+ :param pulumi.Input[str] next_hop_peering: The network peering name that should handle matching packets, which should conform to RFC1035.
390
403
  :param pulumi.Input[str] next_hop_vpn_tunnel: URL to a VpnTunnel that should handle matching packets.
391
404
  :param pulumi.Input[int] priority: The priority of this route. Priority is used to break ties in cases
392
405
  where there is more than one matching route of equal prefix length.
@@ -395,9 +408,23 @@ class _RouteState:
395
408
  Default value is 1000. Valid range is 0 through 65535.
396
409
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
397
410
  If it is not provided, the provider project is used.
411
+ :param pulumi.Input[str] route_status: The status of the route, which can be one of the following values:
412
+ - 'ACTIVE' for an active route
413
+ - 'INACTIVE' for an inactive route
414
+ :param pulumi.Input[str] route_type: The type of this route, which can be one of the following values:
415
+ - 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers
416
+ - 'SUBNET' for a route from a subnet of the VPC
417
+ - 'BGP' for a route learned from a BGP peer of this router
418
+ - 'STATIC' for a static route
398
419
  :param pulumi.Input[str] self_link: The URI of the created resource.
399
420
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of instance tags to which this route applies.
421
+ :param pulumi.Input[Sequence[pulumi.Input['RouteWarningArgs']]] warnings: If potential misconfigurations are detected for this route, this field will be populated with warning messages.
422
+ Structure is documented below.
400
423
  """
424
+ if as_paths is not None:
425
+ pulumi.set(__self__, "as_paths", as_paths)
426
+ if creation_timestamp is not None:
427
+ pulumi.set(__self__, "creation_timestamp", creation_timestamp)
401
428
  if description is not None:
402
429
  pulumi.set(__self__, "description", description)
403
430
  if dest_range is not None:
@@ -408,6 +435,8 @@ class _RouteState:
408
435
  pulumi.set(__self__, "network", network)
409
436
  if next_hop_gateway is not None:
410
437
  pulumi.set(__self__, "next_hop_gateway", next_hop_gateway)
438
+ if next_hop_hub is not None:
439
+ pulumi.set(__self__, "next_hop_hub", next_hop_hub)
411
440
  if next_hop_ilb is not None:
412
441
  pulumi.set(__self__, "next_hop_ilb", next_hop_ilb)
413
442
  if next_hop_instance is not None:
@@ -424,16 +453,48 @@ class _RouteState:
424
453
  pulumi.set(__self__, "next_hop_network", next_hop_network)
425
454
  if next_hop_origin is not None:
426
455
  pulumi.set(__self__, "next_hop_origin", next_hop_origin)
456
+ if next_hop_peering is not None:
457
+ pulumi.set(__self__, "next_hop_peering", next_hop_peering)
427
458
  if next_hop_vpn_tunnel is not None:
428
459
  pulumi.set(__self__, "next_hop_vpn_tunnel", next_hop_vpn_tunnel)
429
460
  if priority is not None:
430
461
  pulumi.set(__self__, "priority", priority)
431
462
  if project is not None:
432
463
  pulumi.set(__self__, "project", project)
464
+ if route_status is not None:
465
+ pulumi.set(__self__, "route_status", route_status)
466
+ if route_type is not None:
467
+ pulumi.set(__self__, "route_type", route_type)
433
468
  if self_link is not None:
434
469
  pulumi.set(__self__, "self_link", self_link)
435
470
  if tags is not None:
436
471
  pulumi.set(__self__, "tags", tags)
472
+ if warnings is not None:
473
+ pulumi.set(__self__, "warnings", warnings)
474
+
475
+ @property
476
+ @pulumi.getter(name="asPaths")
477
+ def as_paths(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteAsPathArgs']]]]:
478
+ """
479
+ Structure is documented below.
480
+ """
481
+ return pulumi.get(self, "as_paths")
482
+
483
+ @as_paths.setter
484
+ def as_paths(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteAsPathArgs']]]]):
485
+ pulumi.set(self, "as_paths", value)
486
+
487
+ @property
488
+ @pulumi.getter(name="creationTimestamp")
489
+ def creation_timestamp(self) -> Optional[pulumi.Input[str]]:
490
+ """
491
+ Creation timestamp in RFC3339 text format.
492
+ """
493
+ return pulumi.get(self, "creation_timestamp")
494
+
495
+ @creation_timestamp.setter
496
+ def creation_timestamp(self, value: Optional[pulumi.Input[str]]):
497
+ pulumi.set(self, "creation_timestamp", value)
437
498
 
438
499
  @property
439
500
  @pulumi.getter
@@ -512,6 +573,18 @@ class _RouteState:
512
573
  def next_hop_gateway(self, value: Optional[pulumi.Input[str]]):
513
574
  pulumi.set(self, "next_hop_gateway", value)
514
575
 
576
+ @property
577
+ @pulumi.getter(name="nextHopHub")
578
+ def next_hop_hub(self) -> Optional[pulumi.Input[str]]:
579
+ """
580
+ The hub network that should handle matching packets, which should conform to RFC1035.
581
+ """
582
+ return pulumi.get(self, "next_hop_hub")
583
+
584
+ @next_hop_hub.setter
585
+ def next_hop_hub(self, value: Optional[pulumi.Input[str]]):
586
+ pulumi.set(self, "next_hop_hub", value)
587
+
515
588
  @property
516
589
  @pulumi.getter(name="nextHopIlb")
517
590
  def next_hop_ilb(self) -> Optional[pulumi.Input[str]]:
@@ -628,6 +701,18 @@ class _RouteState:
628
701
  def next_hop_origin(self, value: Optional[pulumi.Input[str]]):
629
702
  pulumi.set(self, "next_hop_origin", value)
630
703
 
704
+ @property
705
+ @pulumi.getter(name="nextHopPeering")
706
+ def next_hop_peering(self) -> Optional[pulumi.Input[str]]:
707
+ """
708
+ The network peering name that should handle matching packets, which should conform to RFC1035.
709
+ """
710
+ return pulumi.get(self, "next_hop_peering")
711
+
712
+ @next_hop_peering.setter
713
+ def next_hop_peering(self, value: Optional[pulumi.Input[str]]):
714
+ pulumi.set(self, "next_hop_peering", value)
715
+
631
716
  @property
632
717
  @pulumi.getter(name="nextHopVpnTunnel")
633
718
  def next_hop_vpn_tunnel(self) -> Optional[pulumi.Input[str]]:
@@ -669,6 +754,36 @@ class _RouteState:
669
754
  def project(self, value: Optional[pulumi.Input[str]]):
670
755
  pulumi.set(self, "project", value)
671
756
 
757
+ @property
758
+ @pulumi.getter(name="routeStatus")
759
+ def route_status(self) -> Optional[pulumi.Input[str]]:
760
+ """
761
+ The status of the route, which can be one of the following values:
762
+ - 'ACTIVE' for an active route
763
+ - 'INACTIVE' for an inactive route
764
+ """
765
+ return pulumi.get(self, "route_status")
766
+
767
+ @route_status.setter
768
+ def route_status(self, value: Optional[pulumi.Input[str]]):
769
+ pulumi.set(self, "route_status", value)
770
+
771
+ @property
772
+ @pulumi.getter(name="routeType")
773
+ def route_type(self) -> Optional[pulumi.Input[str]]:
774
+ """
775
+ The type of this route, which can be one of the following values:
776
+ - 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers
777
+ - 'SUBNET' for a route from a subnet of the VPC
778
+ - 'BGP' for a route learned from a BGP peer of this router
779
+ - 'STATIC' for a static route
780
+ """
781
+ return pulumi.get(self, "route_type")
782
+
783
+ @route_type.setter
784
+ def route_type(self, value: Optional[pulumi.Input[str]]):
785
+ pulumi.set(self, "route_type", value)
786
+
672
787
  @property
673
788
  @pulumi.getter(name="selfLink")
674
789
  def self_link(self) -> Optional[pulumi.Input[str]]:
@@ -693,6 +808,19 @@ class _RouteState:
693
808
  def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
694
809
  pulumi.set(self, "tags", value)
695
810
 
811
+ @property
812
+ @pulumi.getter
813
+ def warnings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RouteWarningArgs']]]]:
814
+ """
815
+ If potential misconfigurations are detected for this route, this field will be populated with warning messages.
816
+ Structure is documented below.
817
+ """
818
+ return pulumi.get(self, "warnings")
819
+
820
+ @warnings.setter
821
+ def warnings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RouteWarningArgs']]]]):
822
+ pulumi.set(self, "warnings", value)
823
+
696
824
 
697
825
  class Route(pulumi.CustomResource):
698
826
  @overload
@@ -1181,11 +1309,18 @@ class Route(pulumi.CustomResource):
1181
1309
  __props__.__dict__["priority"] = priority
1182
1310
  __props__.__dict__["project"] = project
1183
1311
  __props__.__dict__["tags"] = tags
1312
+ __props__.__dict__["as_paths"] = None
1313
+ __props__.__dict__["creation_timestamp"] = None
1314
+ __props__.__dict__["next_hop_hub"] = None
1184
1315
  __props__.__dict__["next_hop_inter_region_cost"] = None
1185
1316
  __props__.__dict__["next_hop_med"] = None
1186
1317
  __props__.__dict__["next_hop_network"] = None
1187
1318
  __props__.__dict__["next_hop_origin"] = None
1319
+ __props__.__dict__["next_hop_peering"] = None
1320
+ __props__.__dict__["route_status"] = None
1321
+ __props__.__dict__["route_type"] = None
1188
1322
  __props__.__dict__["self_link"] = None
1323
+ __props__.__dict__["warnings"] = None
1189
1324
  super(Route, __self__).__init__(
1190
1325
  'gcp:compute/route:Route',
1191
1326
  resource_name,
@@ -1196,11 +1331,14 @@ class Route(pulumi.CustomResource):
1196
1331
  def get(resource_name: str,
1197
1332
  id: pulumi.Input[str],
1198
1333
  opts: Optional[pulumi.ResourceOptions] = None,
1334
+ as_paths: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RouteAsPathArgs', 'RouteAsPathArgsDict']]]]] = None,
1335
+ creation_timestamp: Optional[pulumi.Input[str]] = None,
1199
1336
  description: Optional[pulumi.Input[str]] = None,
1200
1337
  dest_range: Optional[pulumi.Input[str]] = None,
1201
1338
  name: Optional[pulumi.Input[str]] = None,
1202
1339
  network: Optional[pulumi.Input[str]] = None,
1203
1340
  next_hop_gateway: Optional[pulumi.Input[str]] = None,
1341
+ next_hop_hub: Optional[pulumi.Input[str]] = None,
1204
1342
  next_hop_ilb: Optional[pulumi.Input[str]] = None,
1205
1343
  next_hop_instance: Optional[pulumi.Input[str]] = None,
1206
1344
  next_hop_instance_zone: Optional[pulumi.Input[str]] = None,
@@ -1209,11 +1347,15 @@ class Route(pulumi.CustomResource):
1209
1347
  next_hop_med: Optional[pulumi.Input[str]] = None,
1210
1348
  next_hop_network: Optional[pulumi.Input[str]] = None,
1211
1349
  next_hop_origin: Optional[pulumi.Input[str]] = None,
1350
+ next_hop_peering: Optional[pulumi.Input[str]] = None,
1212
1351
  next_hop_vpn_tunnel: Optional[pulumi.Input[str]] = None,
1213
1352
  priority: Optional[pulumi.Input[int]] = None,
1214
1353
  project: Optional[pulumi.Input[str]] = None,
1354
+ route_status: Optional[pulumi.Input[str]] = None,
1355
+ route_type: Optional[pulumi.Input[str]] = None,
1215
1356
  self_link: Optional[pulumi.Input[str]] = None,
1216
- tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None) -> 'Route':
1357
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
1358
+ warnings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['RouteWarningArgs', 'RouteWarningArgsDict']]]]] = None) -> 'Route':
1217
1359
  """
1218
1360
  Get an existing Route resource's state with the given name, id, and optional extra
1219
1361
  properties used to qualify the lookup.
@@ -1221,6 +1363,8 @@ class Route(pulumi.CustomResource):
1221
1363
  :param str resource_name: The unique name of the resulting resource.
1222
1364
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1223
1365
  :param pulumi.ResourceOptions opts: Options for the resource.
1366
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RouteAsPathArgs', 'RouteAsPathArgsDict']]]] as_paths: Structure is documented below.
1367
+ :param pulumi.Input[str] creation_timestamp: Creation timestamp in RFC3339 text format.
1224
1368
  :param pulumi.Input[str] description: An optional description of this resource. Provide this property
1225
1369
  when you create the resource.
1226
1370
  :param pulumi.Input[str] dest_range: The destination range of outgoing packets that this route applies to.
@@ -1243,6 +1387,7 @@ class Route(pulumi.CustomResource):
1243
1387
  * `projects/project/global/gateways/default-internet-gateway`
1244
1388
  * `global/gateways/default-internet-gateway`
1245
1389
  * The string `default-internet-gateway`.
1390
+ :param pulumi.Input[str] next_hop_hub: The hub network that should handle matching packets, which should conform to RFC1035.
1246
1391
  :param pulumi.Input[str] next_hop_ilb: The IP address or URL to a forwarding rule of type
1247
1392
  loadBalancingScheme=INTERNAL that should handle matching
1248
1393
  packets.
@@ -1271,6 +1416,7 @@ class Route(pulumi.CustomResource):
1271
1416
  :param pulumi.Input[str] next_hop_med: Multi-Exit Discriminator, a BGP route metric that indicates the desirability of a particular route in a network.
1272
1417
  :param pulumi.Input[str] next_hop_network: URL to a Network that should handle matching packets.
1273
1418
  :param pulumi.Input[str] next_hop_origin: Indicates the origin of the route. Can be IGP (Interior Gateway Protocol), EGP (Exterior Gateway Protocol), or INCOMPLETE.
1419
+ :param pulumi.Input[str] next_hop_peering: The network peering name that should handle matching packets, which should conform to RFC1035.
1274
1420
  :param pulumi.Input[str] next_hop_vpn_tunnel: URL to a VpnTunnel that should handle matching packets.
1275
1421
  :param pulumi.Input[int] priority: The priority of this route. Priority is used to break ties in cases
1276
1422
  where there is more than one matching route of equal prefix length.
@@ -1279,18 +1425,31 @@ class Route(pulumi.CustomResource):
1279
1425
  Default value is 1000. Valid range is 0 through 65535.
1280
1426
  :param pulumi.Input[str] project: The ID of the project in which the resource belongs.
1281
1427
  If it is not provided, the provider project is used.
1428
+ :param pulumi.Input[str] route_status: The status of the route, which can be one of the following values:
1429
+ - 'ACTIVE' for an active route
1430
+ - 'INACTIVE' for an inactive route
1431
+ :param pulumi.Input[str] route_type: The type of this route, which can be one of the following values:
1432
+ - 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers
1433
+ - 'SUBNET' for a route from a subnet of the VPC
1434
+ - 'BGP' for a route learned from a BGP peer of this router
1435
+ - 'STATIC' for a static route
1282
1436
  :param pulumi.Input[str] self_link: The URI of the created resource.
1283
1437
  :param pulumi.Input[Sequence[pulumi.Input[str]]] tags: A list of instance tags to which this route applies.
1438
+ :param pulumi.Input[Sequence[pulumi.Input[Union['RouteWarningArgs', 'RouteWarningArgsDict']]]] warnings: If potential misconfigurations are detected for this route, this field will be populated with warning messages.
1439
+ Structure is documented below.
1284
1440
  """
1285
1441
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1286
1442
 
1287
1443
  __props__ = _RouteState.__new__(_RouteState)
1288
1444
 
1445
+ __props__.__dict__["as_paths"] = as_paths
1446
+ __props__.__dict__["creation_timestamp"] = creation_timestamp
1289
1447
  __props__.__dict__["description"] = description
1290
1448
  __props__.__dict__["dest_range"] = dest_range
1291
1449
  __props__.__dict__["name"] = name
1292
1450
  __props__.__dict__["network"] = network
1293
1451
  __props__.__dict__["next_hop_gateway"] = next_hop_gateway
1452
+ __props__.__dict__["next_hop_hub"] = next_hop_hub
1294
1453
  __props__.__dict__["next_hop_ilb"] = next_hop_ilb
1295
1454
  __props__.__dict__["next_hop_instance"] = next_hop_instance
1296
1455
  __props__.__dict__["next_hop_instance_zone"] = next_hop_instance_zone
@@ -1299,13 +1458,33 @@ class Route(pulumi.CustomResource):
1299
1458
  __props__.__dict__["next_hop_med"] = next_hop_med
1300
1459
  __props__.__dict__["next_hop_network"] = next_hop_network
1301
1460
  __props__.__dict__["next_hop_origin"] = next_hop_origin
1461
+ __props__.__dict__["next_hop_peering"] = next_hop_peering
1302
1462
  __props__.__dict__["next_hop_vpn_tunnel"] = next_hop_vpn_tunnel
1303
1463
  __props__.__dict__["priority"] = priority
1304
1464
  __props__.__dict__["project"] = project
1465
+ __props__.__dict__["route_status"] = route_status
1466
+ __props__.__dict__["route_type"] = route_type
1305
1467
  __props__.__dict__["self_link"] = self_link
1306
1468
  __props__.__dict__["tags"] = tags
1469
+ __props__.__dict__["warnings"] = warnings
1307
1470
  return Route(resource_name, opts=opts, __props__=__props__)
1308
1471
 
1472
+ @property
1473
+ @pulumi.getter(name="asPaths")
1474
+ def as_paths(self) -> pulumi.Output[Sequence['outputs.RouteAsPath']]:
1475
+ """
1476
+ Structure is documented below.
1477
+ """
1478
+ return pulumi.get(self, "as_paths")
1479
+
1480
+ @property
1481
+ @pulumi.getter(name="creationTimestamp")
1482
+ def creation_timestamp(self) -> pulumi.Output[str]:
1483
+ """
1484
+ Creation timestamp in RFC3339 text format.
1485
+ """
1486
+ return pulumi.get(self, "creation_timestamp")
1487
+
1309
1488
  @property
1310
1489
  @pulumi.getter
1311
1490
  def description(self) -> pulumi.Output[Optional[str]]:
@@ -1363,6 +1542,14 @@ class Route(pulumi.CustomResource):
1363
1542
  """
1364
1543
  return pulumi.get(self, "next_hop_gateway")
1365
1544
 
1545
+ @property
1546
+ @pulumi.getter(name="nextHopHub")
1547
+ def next_hop_hub(self) -> pulumi.Output[str]:
1548
+ """
1549
+ The hub network that should handle matching packets, which should conform to RFC1035.
1550
+ """
1551
+ return pulumi.get(self, "next_hop_hub")
1552
+
1366
1553
  @property
1367
1554
  @pulumi.getter(name="nextHopIlb")
1368
1555
  def next_hop_ilb(self) -> pulumi.Output[Optional[str]]:
@@ -1447,6 +1634,14 @@ class Route(pulumi.CustomResource):
1447
1634
  """
1448
1635
  return pulumi.get(self, "next_hop_origin")
1449
1636
 
1637
+ @property
1638
+ @pulumi.getter(name="nextHopPeering")
1639
+ def next_hop_peering(self) -> pulumi.Output[str]:
1640
+ """
1641
+ The network peering name that should handle matching packets, which should conform to RFC1035.
1642
+ """
1643
+ return pulumi.get(self, "next_hop_peering")
1644
+
1450
1645
  @property
1451
1646
  @pulumi.getter(name="nextHopVpnTunnel")
1452
1647
  def next_hop_vpn_tunnel(self) -> pulumi.Output[Optional[str]]:
@@ -1476,6 +1671,28 @@ class Route(pulumi.CustomResource):
1476
1671
  """
1477
1672
  return pulumi.get(self, "project")
1478
1673
 
1674
+ @property
1675
+ @pulumi.getter(name="routeStatus")
1676
+ def route_status(self) -> pulumi.Output[str]:
1677
+ """
1678
+ The status of the route, which can be one of the following values:
1679
+ - 'ACTIVE' for an active route
1680
+ - 'INACTIVE' for an inactive route
1681
+ """
1682
+ return pulumi.get(self, "route_status")
1683
+
1684
+ @property
1685
+ @pulumi.getter(name="routeType")
1686
+ def route_type(self) -> pulumi.Output[str]:
1687
+ """
1688
+ The type of this route, which can be one of the following values:
1689
+ - 'TRANSIT' for a transit route that this router learned from another Cloud Router and will readvertise to one of its BGP peers
1690
+ - 'SUBNET' for a route from a subnet of the VPC
1691
+ - 'BGP' for a route learned from a BGP peer of this router
1692
+ - 'STATIC' for a static route
1693
+ """
1694
+ return pulumi.get(self, "route_type")
1695
+
1479
1696
  @property
1480
1697
  @pulumi.getter(name="selfLink")
1481
1698
  def self_link(self) -> pulumi.Output[str]:
@@ -1492,3 +1709,12 @@ class Route(pulumi.CustomResource):
1492
1709
  """
1493
1710
  return pulumi.get(self, "tags")
1494
1711
 
1712
+ @property
1713
+ @pulumi.getter
1714
+ def warnings(self) -> pulumi.Output[Sequence['outputs.RouteWarning']]:
1715
+ """
1716
+ If potential misconfigurations are detected for this route, this field will be populated with warning messages.
1717
+ Structure is documented below.
1718
+ """
1719
+ return pulumi.get(self, "warnings")
1720
+
@@ -979,6 +979,10 @@ class URLMap(pulumi.CustomResource):
979
979
  }],
980
980
  },
981
981
  }],
982
+ "max_stream_duration": {
983
+ "nanos": 500000,
984
+ "seconds": "9",
985
+ },
982
986
  },
983
987
  }],
984
988
  }],
@@ -1719,6 +1723,10 @@ class URLMap(pulumi.CustomResource):
1719
1723
  }],
1720
1724
  },
1721
1725
  }],
1726
+ "max_stream_duration": {
1727
+ "nanos": 500000,
1728
+ "seconds": "9",
1729
+ },
1722
1730
  },
1723
1731
  }],
1724
1732
  }],
@@ -15699,7 +15699,7 @@ if not MYPY:
15699
15699
  class ClusterNotificationConfigPubsubFilterArgsDict(TypedDict):
15700
15700
  event_types: pulumi.Input[Sequence[pulumi.Input[str]]]
15701
15701
  """
15702
- Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT` and `SECURITY_BULLETIN_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
15702
+ Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT`, `SECURITY_BULLETIN_EVENT` and `UPGRADE_INFO_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
15703
15703
  """
15704
15704
  elif False:
15705
15705
  ClusterNotificationConfigPubsubFilterArgsDict: TypeAlias = Mapping[str, Any]
@@ -15709,7 +15709,7 @@ class ClusterNotificationConfigPubsubFilterArgs:
15709
15709
  def __init__(__self__, *,
15710
15710
  event_types: pulumi.Input[Sequence[pulumi.Input[str]]]):
15711
15711
  """
15712
- :param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT` and `SECURITY_BULLETIN_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
15712
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] event_types: Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT`, `SECURITY_BULLETIN_EVENT` and `UPGRADE_INFO_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
15713
15713
  """
15714
15714
  pulumi.set(__self__, "event_types", event_types)
15715
15715
 
@@ -15717,7 +15717,7 @@ class ClusterNotificationConfigPubsubFilterArgs:
15717
15717
  @pulumi.getter(name="eventTypes")
15718
15718
  def event_types(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
15719
15719
  """
15720
- Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT` and `SECURITY_BULLETIN_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
15720
+ Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT`, `SECURITY_BULLETIN_EVENT` and `UPGRADE_INFO_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
15721
15721
  """
15722
15722
  return pulumi.get(self, "event_types")
15723
15723
 
@@ -12643,7 +12643,7 @@ class ClusterNotificationConfigPubsubFilter(dict):
12643
12643
  def __init__(__self__, *,
12644
12644
  event_types: Sequence[str]):
12645
12645
  """
12646
- :param Sequence[str] event_types: Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT` and `SECURITY_BULLETIN_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
12646
+ :param Sequence[str] event_types: Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT`, `SECURITY_BULLETIN_EVENT` and `UPGRADE_INFO_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
12647
12647
  """
12648
12648
  pulumi.set(__self__, "event_types", event_types)
12649
12649
 
@@ -12651,7 +12651,7 @@ class ClusterNotificationConfigPubsubFilter(dict):
12651
12651
  @pulumi.getter(name="eventTypes")
12652
12652
  def event_types(self) -> Sequence[str]:
12653
12653
  """
12654
- Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT` and `SECURITY_BULLETIN_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
12654
+ Can be used to filter what notifications are sent. Accepted values are `UPGRADE_AVAILABLE_EVENT`, `UPGRADE_EVENT`, `SECURITY_BULLETIN_EVENT` and `UPGRADE_INFO_EVENT`. See [Filtering notifications](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-notifications#filtering) for more details.
12655
12655
  """
12656
12656
  return pulumi.get(self, "event_types")
12657
12657
 
@@ -21590,7 +21590,7 @@ class GetClusterNotificationConfigPubsubFilterResult(dict):
21590
21590
  def __init__(__self__, *,
21591
21591
  event_types: Sequence[str]):
21592
21592
  """
21593
- :param Sequence[str] event_types: Can be used to filter what notifications are sent. Valid values include include UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT and SECURITY_BULLETIN_EVENT
21593
+ :param Sequence[str] event_types: Can be used to filter what notifications are sent. Valid values include include UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT, SECURITY_BULLETIN_EVENT, and UPGRADE_INFO_EVENT
21594
21594
  """
21595
21595
  pulumi.set(__self__, "event_types", event_types)
21596
21596
 
@@ -21598,7 +21598,7 @@ class GetClusterNotificationConfigPubsubFilterResult(dict):
21598
21598
  @pulumi.getter(name="eventTypes")
21599
21599
  def event_types(self) -> Sequence[str]:
21600
21600
  """
21601
- Can be used to filter what notifications are sent. Valid values include include UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT and SECURITY_BULLETIN_EVENT
21601
+ Can be used to filter what notifications are sent. Valid values include include UPGRADE_AVAILABLE_EVENT, UPGRADE_EVENT, SECURITY_BULLETIN_EVENT, and UPGRADE_INFO_EVENT
21602
21602
  """
21603
21603
  return pulumi.get(self, "event_types")
21604
21604
 
@@ -527,6 +527,8 @@ class Entry(pulumi.CustomResource):
527
527
  user_specified_type: Optional[pulumi.Input[str]] = None,
528
528
  __props__=None):
529
529
  """
530
+ > **Warning:** `datacatalog.Entry` is deprecated and will be removed in a future major release. Data Catalog is deprecated and will be discontinued on January 30, 2026. For steps to transition your Data Catalog users, workloads, and content to Dataplex Catalog, see https://cloud.google.com/dataplex/docs/transition-to-dataplex-catalog.
531
+
530
532
  Entry Metadata. A Data Catalog Entry resource represents another resource in Google Cloud Platform
531
533
  (such as a BigQuery dataset or a Pub/Sub topic) or outside of Google Cloud Platform. Clients can use
532
534
  the linkedResource field in the Entry resource to refer to the original resource ID of the source system.
@@ -677,6 +679,8 @@ class Entry(pulumi.CustomResource):
677
679
  args: EntryArgs,
678
680
  opts: Optional[pulumi.ResourceOptions] = None):
679
681
  """
682
+ > **Warning:** `datacatalog.Entry` is deprecated and will be removed in a future major release. Data Catalog is deprecated and will be discontinued on January 30, 2026. For steps to transition your Data Catalog users, workloads, and content to Dataplex Catalog, see https://cloud.google.com/dataplex/docs/transition-to-dataplex-catalog.
683
+
680
684
  Entry Metadata. A Data Catalog Entry resource represents another resource in Google Cloud Platform
681
685
  (such as a BigQuery dataset or a Pub/Sub topic) or outside of Google Cloud Platform. Clients can use
682
686
  the linkedResource field in the Entry resource to refer to the original resource ID of the source system.
@@ -237,6 +237,8 @@ class Tag(pulumi.CustomResource):
237
237
  template: Optional[pulumi.Input[str]] = None,
238
238
  __props__=None):
239
239
  """
240
+ > **Warning:** `datacatalog.Tag` is deprecated and will be removed in a future major release. For steps to transition your Data Catalog users, workloads, and content to Dataplex Catalog, see https://cloud.google.com/dataplex/docs/transition-to-dataplex-catalog.
241
+
240
242
  Tags are used to attach custom metadata to Data Catalog resources. Tags conform to the specifications within their tag template.
241
243
 
242
244
  See [Data Catalog IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information on the permissions needed to create or view tags.
@@ -533,6 +535,8 @@ class Tag(pulumi.CustomResource):
533
535
  args: TagArgs,
534
536
  opts: Optional[pulumi.ResourceOptions] = None):
535
537
  """
538
+ > **Warning:** `datacatalog.Tag` is deprecated and will be removed in a future major release. For steps to transition your Data Catalog users, workloads, and content to Dataplex Catalog, see https://cloud.google.com/dataplex/docs/transition-to-dataplex-catalog.
539
+
536
540
  Tags are used to attach custom metadata to Data Catalog resources. Tags conform to the specifications within their tag template.
537
541
 
538
542
  See [Data Catalog IAM](https://cloud.google.com/data-catalog/docs/concepts/iam) for information on the permissions needed to create or view tags.